Android.mk - how to make a template in the source folder

The way I do the template in the 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 a new source folder to JNI - some_src with the files 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) only to bar.cpp, foo.cpp gets the split path (jni / foo.cpp) and doesn't build of course.

How to fix it?

+1
source share
1 answer
 $(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 you to use the following shortcut:

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

All Articles