|
| 1 | +LOCAL_PATH := $(call my-dir) |
| 2 | + |
| 3 | +include $(CLEAR_VARS) |
| 4 | + |
| 5 | +LOCAL_MODULE := application |
| 6 | + |
| 7 | +APP_SUBDIRS := $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/ -type d)) |
| 8 | + |
| 9 | +LOCAL_CFLAGS := $(foreach D, $(APP_SUBDIRS), -I$(LOCAL_PATH)/$(D)) \ |
| 10 | + -I$(LOCAL_PATH)/../sdl/include \ |
| 11 | + -I$(LOCAL_PATH)/../sdl_mixer \ |
| 12 | + -I$(LOCAL_PATH)/../sdl_image \ |
| 13 | + -I$(LOCAL_PATH)/../sdl_ttf \ |
| 14 | + -I$(LOCAL_PATH)/../sdl_net \ |
| 15 | + -I$(LOCAL_PATH)/../sdl_blitpool \ |
| 16 | + -I$(LOCAL_PATH)/../sdl_gfx \ |
| 17 | + -I$(LOCAL_PATH)/../png \ |
| 18 | + -I$(LOCAL_PATH)/../jpeg \ |
| 19 | + -I$(LOCAL_PATH)/../intl \ |
| 20 | + -I$(LOCAL_PATH)/.. \ |
| 21 | + -I$(LOCAL_PATH)/../../../build/python-install/include/python2.7 |
| 22 | + |
| 23 | + |
| 24 | +LOCAL_CFLAGS += $(APPLICATION_ADDITIONAL_CFLAGS) |
| 25 | + |
| 26 | +#Change C++ file extension as appropriate |
| 27 | +LOCAL_CPP_EXTENSION := .cpp |
| 28 | + |
| 29 | +LOCAL_SRC_FILES := $(foreach F, $(APP_SUBDIRS), $(addprefix $(F)/,$(notdir $(wildcard $(LOCAL_PATH)/$(F)/*.cpp)))) |
| 30 | +# Uncomment to also add C sources |
| 31 | +LOCAL_SRC_FILES += $(foreach F, $(APP_SUBDIRS), $(addprefix $(F)/,$(notdir $(wildcard $(LOCAL_PATH)/$(F)/*.c)))) |
| 32 | + |
| 33 | +LOCAL_SHARED_LIBRARIES := sdl $(COMPILED_LIBRARIES) |
| 34 | + |
| 35 | +LOCAL_STATIC_LIBRARIES := jpeg png |
| 36 | + |
| 37 | +LOCAL_LDLIBS := -lpython2.7 -lGLESv1_CM -ldl -llog -lz |
| 38 | + |
| 39 | +LOCAL_LDFLAGS += -L$(LOCAL_PATH)/../../python-install/lib $(APPLICATION_ADDITIONAL_LDFLAGS) |
| 40 | + |
| 41 | +LIBS_WITH_LONG_SYMBOLS := $(strip $(shell \ |
| 42 | + for f in $(LOCAL_PATH)/../../libs/$ARCH/*.so ; do \ |
| 43 | + if echo $$f | grep "libapplication[.]so" > /dev/null ; then \ |
| 44 | + continue ; \ |
| 45 | + fi ; \ |
| 46 | + if [ -e "$$f" ] ; then \ |
| 47 | + if nm -g $$f | cut -c 12- | egrep '.{128}' > /dev/null ; then \ |
| 48 | + echo $$f | grep -o 'lib[^/]*[.]so' ; \ |
| 49 | + fi ; \ |
| 50 | + fi ; \ |
| 51 | + done \ |
| 52 | +) ) |
| 53 | + |
| 54 | +ifneq "$(LIBS_WITH_LONG_SYMBOLS)" "" |
| 55 | +$(foreach F, $(LIBS_WITH_LONG_SYMBOLS), \ |
| 56 | +$(info Library $(F): abusing symbol names are: \ |
| 57 | +$(shell nm -g $(LOCAL_PATH)/../../libs/$ARCH/$(F) | cut -c 12- | egrep '.{128}' ) ) \ |
| 58 | +$(info Library $(F) contains symbol names longer than 128 bytes, \ |
| 59 | +YOUR CODE WILL DEADLOCK WITHOUT ANY WARNING when you'll access such function - \ |
| 60 | +please make this library static to avoid problems. ) ) |
| 61 | +$(error Detected libraries with too long symbol names. Remove all files under project/libs/$ARCH, make these libs static, and recompile) |
| 62 | +endif |
| 63 | + |
| 64 | +include $(BUILD_SHARED_LIBRARY) |
0 commit comments