libext.mk revision cc1f024e0bd08588f0dae6ef83cb6af47dc155fc
1include $(CLEAR_VARS) 2 3LOCAL_MODULE_TAGS:= 4LOCAL_MODULE:=libext$(libext_suffix) 5 6# LOCAL_MODULE_CLASS must be defined before calling $(local-intermediates-dir) 7# 8LOCAL_MODULE_CLASS := STATIC_LIBRARIES 9MY_intermediates := $(call local-intermediates-dir) 10 11# LOCAL_PATH needed because of dirty #include "blabla.c" 12LOCAL_C_INCLUDES:= \ 13 $(LOCAL_PATH)/../include/ \ 14 $(MY_intermediates) \ 15 $(LOCAL_PATH) 16 17LOCAL_CFLAGS:=-DNO_SHARED_LIBS=1 18# The $* does not work as expected. It ends up empty. Even with SECONDEXPANSION. 19# LOCAL_CFLAGS+=-D_INIT=lib$*_init 20LOCAL_CFLAGS+=-DXTABLES_INTERNAL 21# Accommodate arm-eabi-4.4.3 tools that don't set __ANDROID__ 22LOCAL_CFLAGS+=-D__ANDROID__ 23LOCAL_CFLAGS += $(MY_warnings) 24 25MY_GEN_INITEXT:= $(MY_intermediates)/initext.c 26$(MY_GEN_INITEXT): MY_initext_func := $(addprefix $(libext_prefix)_,$(libext_build_mod)) 27$(MY_GEN_INITEXT): MY_suffix := $(libext_suffix) 28$(MY_GEN_INITEXT): 29 @mkdir -p $(dir $@) 30 @( \ 31 echo "" >$@; \ 32 for i in $(MY_initext_func); do \ 33 echo "extern void lib$${i}_init(void);" >>$@; \ 34 done; \ 35 echo "void init_extensions$(MY_suffix)(void);" >>$@; \ 36 echo "void init_extensions$(MY_suffix)(void)" >>$@; \ 37 echo "{" >>$@; \ 38 for i in $(MY_initext_func); do \ 39 echo " ""lib$${i}_init();" >>$@; \ 40 done; \ 41 echo "}" >>$@; \ 42 ); 43 44MY_lib_sources:= \ 45 $(patsubst %,$(LOCAL_PATH)/lib$(libext_prefix)_%.c,$(libext_build_mod)) 46 47MY_gen_lib_sources:= $(patsubst $(LOCAL_PATH)/%,${MY_intermediates}/%,${MY_lib_sources}) 48 49${MY_gen_lib_sources}: PRIVATE_PATH := $(LOCAL_PATH) 50${MY_gen_lib_sources}: PRIVATE_CUSTOM_TOOL = $(PRIVATE_PATH)/filter_init $(PRIVATE_PATH)/$(notdir $@) > $@ 51${MY_gen_lib_sources}: PRIVATE_MODULE := $(LOCAL_MODULE) 52${MY_gen_lib_sources}: PRIVATE_C_INCLUDES := $(LOCAL_C_INCLUDES) 53${MY_gen_lib_sources}: $(MY_lib_sources) 54 $(transform-generated-source) 55 56$(MY_intermediates)/initext$(libext_suffix).o : $(MY_GEN_INITEXT) $(MY_gen_lib_sources) 57 58LOCAL_GENERATED_SOURCES:= $(MY_GEN_INITEXT) $(MY_gen_lib_sources) 59 60include $(BUILD_STATIC_LIBRARY) 61