Android.mk 遍历

android.mk

在mac和windows下多目录 文件/目录遍历

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d)
$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos)
$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos/audio/include)
###############################################################################
#mac环境 注释掉下面这行
IS_WINDOWS := true

LOCAL_MODULE := MyGame_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp
###############################################################################
# 配置源文件目录和源文件后缀名
MY_FILES_PATH  :=  $(LOCAL_PATH) \
                   $(LOCAL_PATH)/../../../Classes
MY_FILES_SUFFIX := %.cpp %.c

# 遍历目录及子目录的函数
define walk
    $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
endef

# 去除字串的重复单词
define uniq =
  $(eval seen :=)
  $(foreach _,$1,$(if $(filter $_,${seen}),,$(eval seen += $_)))
  ${seen}
endef

# 遍历Jni和Classes目录
ALLFILES := $(foreach src_path,$(MY_FILES_PATH), $(call walk,$(src_path),*.*) )
#$(warning ALLFILES $(ALLFILES))
# 从所有文件中提取出所有.c和.cpp文件
FILE_LIST  := $(filter $(MY_FILES_SUFFIX),$(ALLFILES))
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
$(warning LOCAL_SRC_FILES= $(LOCAL_SRC_FILES))
###############################################################################
ifdef IS_WINDOWS
    # windows递归遍历获取所有目录
    MY_ALL_DIRS := $(dir $(foreach src_path,$(MY_FILES_PATH), $(call walk,$(src_path),*/) ) )
    MY_ALL_DIRS := $(call uniq,$(MY_ALL_DIRS))
    LOCAL_C_INCLUDES := $(MY_ALL_DIRS)
else
    # mac获取所有目录
    FILE_INCLUDES := $(shell find $(LOCAL_PATH)/../../../Classes -type d)
    LOCAL_C_INCLUDES := $(FILE_INCLUDES)
endif
$(warning LOCAL_C_INCLUDES= $(LOCAL_C_INCLUDES))
###############################################################################
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,919评论 25 709
  • Android游戏开发实践(1)之NDK与JNI开发02 承接上篇Android游戏开发实践(1)之NDK与JNI...
    AlphaGL阅读 9,163评论 0 24
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,744评论 2 45
  • 华者,花也。婀娜之姿,惊艳于世,唯苦信期短瞬,每感其凋,涩涩然而欲泣。倘借掌中利器摹之永存,岂非幸事?然寰宇全息,...
    PETJUMPJUMP阅读 1,720评论 0 0
  • 路过一家花店,里面的陈设,让我不由停下脚步。推开小门,店员正在摆弄手中的花,无暇招呼我们,仍然礼貌地问候了一句:欢...
    麦田里的小姑凉阅读 1,868评论 0 0

友情链接更多精彩内容