LOCAL_EXPORT_C_INCLUDES和LOCALC_INCLUDES 、LOCAL_EXPORT_CFLAGS和 LOCAL_CFLAGS ,差别是编译某模块是,如果它依赖别的模块,那么别的模块的LOCAL_EXPORT*类的值,会自动加入到本模块。(但是反过来不会有作用)
例如,定义了一个模块, 定义宏FOO
include $(CLEAR_VARS)
LOCAL_MODULE := foo
LOCAL_SRC_FILES := foo/foo.c
LOCAL_EXPORT_CFLAGS :=-DFOO=1
include $(BUILD_STATIC_LIBRARY)
另外一个模块bar使用foo模块
include $(CLEAR_VARS)
LOCAL_MODULE := bar
LOCAL_SRC_FILES := bar.c
LOCAL_CFLAGS :=-DBAR=2
LOCAL_STATIC_LIBRARIES := foo
include $(BUILD_SHARED_LIBRARY)
那么bar.c可以同时使用 FOO BAR这两个宏