Found document in android open source. They are in myandroid/development/pdk/docs/. Following information are from the "Android build system" section. It is more helpful than "Add a new component into open source Android".
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)
LOCAL_SRC_FILES := main.c
LOCAL_MODULE_TAGS := eng development
LOCAL_SHARED_LIBRARIES := cutils
(HOST_)EXECUTABLE, (HOST_)JAVA_LIBRARY, (HOST_)PREBUILT, (HOST_)SHARED_LIBRARY,
(HOST_)STATIC_LIBRARY, PACKAGE, JAVADOC, RAW_EXECUTABLE, RAW_STATIC_LIBRARY,