A makefile defines how to build a particular application. Makefiles typically include all of the following elements:
- Name: Give your build a name (LOCAL_MODULE :=
). - Local Variables: Clear local variables with CLEAR_VARS (include $(CLEAR_VARS)).
- Files: Determine which files your application depends upon (LOCAL_SRC_FILES := main.c).
- Tags: Define tags, as necessary (LOCAL_MODULE_TAGS := eng development).
- Libraries: Define whether your application links with other libraries (LOCAL_SHARED_LIBRARIES := cutils).
- Template file: Include a template file to define underlining make tools for a particular target (include $(BUILD_EXECUTABLE)).
LOCAL_PATH := $(my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE :=
LOCAL_SRC_FILES := main.c
LOCAL_MODULE_TAGS := eng development
LOCAL_SHARED_LIBRARIES := cutils
include $(BUILD_EXECUTABLE)
(HOST_)EXECUTABLE, (HOST_)JAVA_LIBRARY, (HOST_)PREBUILT, (HOST_)SHARED_LIBRARY,
(HOST_)STATIC_LIBRARY, PACKAGE, JAVADOC, RAW_EXECUTABLE, RAW_STATIC_LIBRARY,
COPY_HEADERS, KEY_CHAR_MAP