这就是我在JNI文件夹中做通配符的方式
include $(CLEAR_VARS)
LOCAL_MODULE := some_module_name
LOCAL_SRC_FILES := $(notdir $(wildcard $(LOCAL_PATH)/*.cpp))
include $(BUILD_SHARED_LIBRARY)
现在我想向JNI添加新的源文件夹 - some_src with foo.cpp and 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),当然不是构建。
如何解决?
答案 0 :(得分:3)
$(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)))