【问题标题】:Android.mk - how to do wildcard in source folderAndroid.mk - 如何在源文件夹中做通配符
【发布时间】:2012-10-10 17:27:51
【问题描述】:

这就是我在 JNI 文件夹中做通配符的方式

include $(CLEAR_VARS)
LOCAL_MODULE    := some_module_name
LOCAL_SRC_FILES := $(notdir $(wildcard $(LOCAL_PATH)/*.cpp)) 
include $(BUILD_SHARED_LIBRARY)

现在我想将新的源文件夹添加到 JNI - some_src 与 foo.cpp 和 bar.cpp

include $(CLEAR_VARS)
LOCAL_MODULE    := some_module_name
FOLDER_PREFIX = some_scr
LOCAL_SRC_FILES := $(notdir $(wildcard $(LOCAL_PATH)/*.cpp)) $(FOLDER_PREFIX)/$(notdir $(wildcard $(LOCAL_PATH)/$(FOLDER_PREFIX)/*.cpp))
include $(BUILD_SHARED_LIBRARY)

但这只会将 $(FOLDER_PREFIX) 添加到 bar.cpp,foo.cpp 会被剥离路径 (jni/foo.cpp) 而不是构建。

如何解决?

【问题讨论】:

    标签: android-ndk makefile


    【解决方案1】:
    $(addprefix $(FOLDER_PREFIX),$(notdir $(wildcard $(LOCAL_PATH)/$(FOLDER_PREFIX)/*.cpp))`
    

    甚至可能(你真的需要指定FOLDER_PREFIX吗?)

    $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/*/*.cpp)))
    

    第二种形式允许使用以下快捷方式:

    LOCAL_SRC_FILES := $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/*.cpp) $(wildcard $(LOCAL_PATH)/*/*.cpp)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-06
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多