一、多文件編譯函數
多文件編譯共有兩種方式:spa
(1) 在Android.mk中一一添加code
LOCAL_PATH:= $(call my-dir) #定義當前模塊的相對路徑 include $(CLEAR_VARS) #清空當前環境變量 LOCAL_MODULE:= test #編譯生成的目標名稱 LOCAL_SRC_FILES := test1.c \
test2.c \
test3.c
#編譯該模塊所須要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當前目錄生成該模塊文件 include $(BUILD_EXECUTABLE) #編譯以後的文件類型
(2)在Android.mk中調用函數 blog
LOCAL_PATH:= $(call my-dir) #定義當前模塊的相對路徑 include $(CLEAR_VARS) #清空當前環境變量 LOCAL_MODULE:= test #編譯生成的目標名稱 LOCAL_C_ALL_FILES := $(call all-c-files-under) #加載全部的文件 LOCAL_SRC_FILES := $LOCAL_C_ALL_FILES # LOCAL_SRC_FILES := test.c #編譯該模塊所須要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當前目錄生成該模塊文件 include $(BUILD_EXECUTABLE) #編譯以後的文件類型
二、一個Android.mk生成多個目標文件,只須要在Android.mk下面作以下的操做編譯
LOCAL_PATH:= $(call my-dir) #定義當前模塊的相對路徑 include $(CLEAR_VARS) #清空當前環境變量 LOCAL_MODULE:= test1 #編譯生成的目標名稱 LOCAL_C_ALL_FILES := $(call all-c-files-under) #加載全部的文件 LOCAL_SRC_FILES := $LOCAL_C_ALL_FILES # LOCAL_SRC_FILES := test.c #編譯該模塊所須要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當前目錄生成該模塊文件 include $(BUILD_EXECUTABLE) #編譯以後的文件類型
LOCAL_PATH:= $(call my-dir) #定義當前模塊的相對路徑
include $(CLEAR_VARS) #清空當前環境變量
LOCAL_MODULE:= test2 #編譯生成的目標名稱
LOCAL_C_ALL_FILES := $(call all-c-files-under) #加載全部的文件
LOCAL_SRC_FILES := $LOCAL_C_ALL_FILES
# LOCAL_SRC_FILES := test.c #編譯該模塊所須要的源文件
# LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當前目錄生成該模塊文件
include $(BUILD_EXECUTABLE) #編譯以後的文件類型
三、生成動態庫,操做Android.mkclass
LOCAL_PATH:= $(call my-dir) #定義當前模塊的相對路徑 include $(CLEAR_VARS) #清空當前環境變量 LOCAL_MODULE:= libtest #編譯生成的目標名稱 LOCAL_SRC_FILES := test1.c \ test2.c \ test3.c #編譯該模塊所須要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當前目錄生成該模塊文件 include $(BUILD_SHARED_LIBRARY) #編譯以後的文件類型
四、生成靜態庫,操做Android.mktest
LOCAL_PATH:= $(call my-dir) #定義當前模塊的相對路徑
include $(CLEAR_VARS) #清空當前環境變量
LOCAL_MODULE:= libtest #編譯生成的目標名稱 LOCAL_SRC_FILES := test1.c \ test2.c \ test3.c #編譯該模塊所須要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當前目錄生成該模塊文件 include $(BUILD_STATIC_LIBRARY) #編譯以後的文件類型
####共勉#####變量