Android.mk遍歷目錄下所有的源文件

//源路徑
C_FILE_PATH := $(LOCAL_PATH)
//不需要編譯的具體文件路徑
C_FILE_EXCLUDE :=  $(LOCAL_PATH)/a.c \
                   $(LOCAL_PATH)/sub_dir/b.cpp \
define walkfile
    $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walkfile, $(e)))
endef
//篩選目錄下所有的.c .cpp .cc文件
C_FILE_LIST := $(filter %.c $.cpp $.cc, $(call walkfile, $(C_FILE_PATH)))
//將路徑變爲絕對路徑
C_FILE_FORMAT := $(C_FILE_LIST:$(LOCAL_PATH)/%=%)
//剔除不需要編譯的文件
LOCAL_SRC_FILES := $(filter-out $(C_FILE_EXCLUDE), $(C_FILE_FORMAT))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章