分类: C/C++
2012-02-22 12:00:36
Android.mk中选项参考:build/core/config.mk
Android.mk中各选项的默认值参考:build/core/base_rules.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:=/ 源文件(不需要对c源文件和c++源文件进行区分)
xxxx.c/
yyyy.c
LOCAL_MODULE:=test.exe 模块最终的名称
#LOCAL_MODULE:=test_static 最终会生成test_static.a(编译静态库)
#LOCAL_MODULE:=test_share 最终会生成test_share.so(编译动态库)
LOCAL_C_INCLUDES:= 需包含的头文件
LOCAL_STATIC_LIBRARIES:= 需链接的静态库
LOCAL_SHARED_LIBRARIES:= 需链接的动态库
LOCAL_PREBUILT_OBJ_FILES := 对于编译静态链接库很有用哦
include $(BUILD_EXECUTABLE) 以一个可执行程序的方式进行编译
#include $(BUILD_STATIC_LIBRARY) 编译静态库
#include $(BUILD_SHARED_LIBRARY) 编译动态库
可执行程序、静态库、动态库生成的编译结果分别在以下目录中:
out/target/product/generic/obj/EXECUTABLE/xxx_intermediates
out/target/product/generic/obj/STATIC_LIBRARY/xxx_static_intermediates
out/target/product/generic/obj/SHARED_LIBRARY/xxx_shared_intermediates
如果想编译主机的内容,使用的宏如下:
include $(BUILD_HOST_EXECUTABLE) 以一个可执行程序的方式进行编译
include $(BUILD_HOST_STATIC_LIBRARY) 编译静态库
include $(BUILD_HOST_SHARED_LIBRARY) 编译动态库
指定目标安装路径:
LOCAL_MODULE_PATH:=$(TARGET_ROOT_OUT)
LOCAL_UNSTRIPPED_PATH:=$(TARGET_ROOT_OUT_UNSTRIPPED)
TARGET_ROOT_OUT 表示根文件系统 路劲:out/target/product/generic/root
TARGET_OUT (默认) 表示system文件系统 路径:out/target/product/generic/system
TARGET_OUT_DATA 表示data文件系统 路径: out/target/product/generic/data