Aristarhys
Aristarhys

Reputation: 2122

Android.mk - how to do wildcard in source folder

That's how i do wildcard in JNI folder

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

Now i want to add new source folder to 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)

But this adds $(FOLDER_PREFIX) to bar.cpp only, foo.cpp gets stripped path (jni/foo.cpp) and not builds of course.

How to fix it?

Upvotes: 1

Views: 2871

Answers (1)

Alex Cohn
Alex Cohn

Reputation: 57163

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

or maybe even (do you really need to specify FOLDER_PREFIX?):

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

The second form allows for the following shortcut:

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

Upvotes: 3

Related Questions