diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2009-11-15 21:05:33 +0100 |
---|---|---|
committer | Jean-Baptiste Queru <jbq@google.com> | 2009-11-15 21:05:33 +0100 |
commit | b2ce982d432338d36a41bd57e35a14459fc3d30b (patch) | |
tree | 7fd574307953a0bbde499194ab4006a7cae3f8b9 /updater/Android.mk | |
parent | merge from donut (diff) | |
parent | eclair snapshot (diff) | |
download | android_bootable_recovery-b2ce982d432338d36a41bd57e35a14459fc3d30b.tar android_bootable_recovery-b2ce982d432338d36a41bd57e35a14459fc3d30b.tar.gz android_bootable_recovery-b2ce982d432338d36a41bd57e35a14459fc3d30b.tar.bz2 android_bootable_recovery-b2ce982d432338d36a41bd57e35a14459fc3d30b.tar.lz android_bootable_recovery-b2ce982d432338d36a41bd57e35a14459fc3d30b.tar.xz android_bootable_recovery-b2ce982d432338d36a41bd57e35a14459fc3d30b.tar.zst android_bootable_recovery-b2ce982d432338d36a41bd57e35a14459fc3d30b.zip |
Diffstat (limited to '')
-rw-r--r-- | updater/Android.mk | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/updater/Android.mk b/updater/Android.mk index 897b9d74c..d4a4e332d 100644 --- a/updater/Android.mk +++ b/updater/Android.mk @@ -18,11 +18,47 @@ LOCAL_MODULE_TAGS := eng LOCAL_SRC_FILES := $(updater_src_files) -LOCAL_STATIC_LIBRARIES := libapplypatch libedify libmtdutils libminzip libz +LOCAL_STATIC_LIBRARIES := $(TARGET_RECOVERY_UPDATER_LIBS) $(TARGET_RECOVERY_UPDATER_EXTRA_LIBS) +LOCAL_STATIC_LIBRARIES += libapplypatch libedify libmtdutils libminzip libz LOCAL_STATIC_LIBRARIES += libmincrypt libbz LOCAL_STATIC_LIBRARIES += libcutils libstdc++ libc LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. +# Each library in TARGET_RECOVERY_UPDATER_LIBS should have a function +# named "Register_<libname>()". Here we emit a little C function that +# gets #included by updater.c. It calls all those registration +# functions. + +# Devices can also add libraries to TARGET_RECOVERY_UPDATER_EXTRA_LIBS. +# These libs are also linked in with updater, but we don't try to call +# any sort of registration function for these. Use this variable for +# any subsidiary static libraries required for your registered +# extension libs. + +inc := $(call intermediates-dir-for,PACKAGING,updater_extensions)/register.inc + +# During the first pass of reading the makefiles, we dump the list of +# extension libs to a temp file, then copy that to the ".list" file if +# it is different than the existing .list (if any). The register.inc +# file then uses the .list as a prerequisite, so it is only rebuilt +# (and updater.o recompiled) when the list of extension libs changes. + +junk := $(shell mkdir -p $(dir $(inc));\ + echo $(TARGET_RECOVERY_UPDATER_LIBS) > $(inc).temp;\ + diff -q $(inc).temp $(inc).list || cp -f $(inc).temp $(inc).list) + +$(inc) : libs := $(TARGET_RECOVERY_UPDATER_LIBS) +$(inc) : $(inc).list + $(hide) mkdir -p $(dir $@) + $(hide) echo "" > $@ + $(hide) $(foreach lib,$(libs),echo "extern void Register_$(lib)(void);" >> $@) + $(hide) echo "void RegisterDeviceExtensions() {" >> $@ + $(hide) $(foreach lib,$(libs),echo " Register_$(lib)();" >> $@) + $(hide) echo "}" >> $@ + +$(call intermediates-dir-for,EXECUTABLES,updater)/updater.o : $(inc) +LOCAL_C_INCLUDES += $(dir $(inc)) + LOCAL_MODULE := updater LOCAL_FORCE_STATIC_EXECUTABLE := true |