1

それが私がJNIフォルダでワイルドカードをする方法です

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

ここで、新しいソースフォルダーをJNIに追加します-foo.cppとbar.cppを含むsome_src

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)を取得し、もちろんビルドは行われません。

それを修正する方法は?

4

1 に答える 1

3
$(addprefix $(FOLDER_PREFIX),$(notdir $(wildcard $(LOCAL_PATH)/$(FOLDER_PREFIX)/*.cpp))`

または多分(あなたは本当に指定する必要がありますFOLDER_PREFIXか?)

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

2番目の形式では、次のショートカットが可能です。

LOCAL_SRC_FILES := $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/*.cpp) $(wildcard $(LOCAL_PATH)/*/*.cpp)))
于 2012-10-10T20:34:25.027 に答える