In order to maintain compatibility with older trees, we now have minadbd.old and minui.old. I had to use a TARGET_GLOBAL_CFLAG to handle ifdef issues in minui/minui.d because healthd includes minui/minui.h and there was no other alternative to make minui.h compatible with older trees without having to modify healthd rules which is outside of TWRP. Note that the new minui does not currently have support for qcom overlay graphics. Support for this graphics mode will likely be added in a later patch set. If you are building in a 6.0 tree and have a device that needs qcom overlay graphics, be warned, as off mode charging may not work properly. A dead battery in this case could potentially brick your device if it is unable to charge as healthd handles charging duties. Update rules for building toolbox and add rules for making toybox Use permissive.sh in init.rc which will follow symlinks so we do not have to worry about what binary is supplying the setenforce functionality (toolbox, toybox, or busybox). Fix a few warnings in the main recovery binary source code. Fix a few includes that were missing that prevented compiling in 6.0 Change-Id: Ia67aa2107d260883da5e365475a19bea538e8b97
111 lines
3.5 KiB
Makefile
111 lines
3.5 KiB
Makefile
# Copyright 2009 The Android Open Source Project
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
updater_src_files := \
|
|
install.c \
|
|
blockimg.c \
|
|
updater.c
|
|
|
|
#
|
|
# Build a statically-linked binary to include in OTA packages
|
|
#
|
|
include $(CLEAR_VARS)
|
|
|
|
# Build only in eng, so we don't end up with a copy of this in /system
|
|
# on user builds. (TODO: find a better way to build device binaries
|
|
# needed only for OTA packages.)
|
|
LOCAL_MODULE_TAGS := eng
|
|
|
|
LOCAL_SRC_FILES := $(updater_src_files)
|
|
|
|
ifeq ($(TARGET_USERIMAGES_USE_EXT4), true)
|
|
LOCAL_CFLAGS += -DUSE_EXT4
|
|
LOCAL_CFLAGS += -Wno-unused-parameter
|
|
LOCAL_C_INCLUDES += system/extras/ext4_utils
|
|
LOCAL_STATIC_LIBRARIES += \
|
|
libext4_utils \
|
|
libz
|
|
ifneq ($(wildcard system/core/libmincrypt/rsa_e_3.c),)
|
|
LOCAL_STATIC_LIBRARIES = \
|
|
libext4_utils_static \
|
|
libsparse_static \
|
|
libz
|
|
endif
|
|
ifneq ($(wildcard system/core/include/mincrypt/sha256.h),)
|
|
LOCAL_STATIC_LIBRARIES = \
|
|
libext4_utils_static \
|
|
libsparse_static \
|
|
libz
|
|
endif
|
|
ifneq ($(wildcard external/lz4/Android.mk),)
|
|
LOCAL_STATIC_LIBRARIES += liblz4-static
|
|
endif
|
|
endif
|
|
|
|
LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UPDATER_LIBS) $(TARGET_RECOVERY_UPDATER_EXTRA_LIBS)
|
|
LOCAL_STATIC_LIBRARIES += libapplypatch libedify libmtdutils libminzip libz
|
|
LOCAL_STATIC_LIBRARIES += libflashutils libmmcutils libbmlutils
|
|
LOCAL_STATIC_LIBRARIES += libmincrypttwrp libbz
|
|
LOCAL_STATIC_LIBRARIES += libcutils liblog libstdc++ libc
|
|
LOCAL_STATIC_LIBRARIES += libselinux
|
|
tune2fs_static_libraries := \
|
|
libext2_com_err \
|
|
libext2_blkid \
|
|
libext2_quota \
|
|
libext2_uuid_static \
|
|
libext2_e2p \
|
|
libext2fs
|
|
ifneq ($(wildcard external/e2fsprogs/misc/tune2fs.h),)
|
|
LOCAL_STATIC_LIBRARIES += libtune2fs $(tune2fs_static_libraries)
|
|
LOCAL_CFLAGS += -DHAVE_LIBTUNE2FS
|
|
endif
|
|
|
|
LOCAL_C_INCLUDES += external/e2fsprogs/misc
|
|
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
|
|
|
|
# Encode the value of TARGET_RECOVERY_UPDATER_LIBS into the filename of the dependency.
|
|
# So if TARGET_RECOVERY_UPDATER_LIBS is changed, a new dependency file will be generated.
|
|
# Note that we have to remove any existing depency files before creating new one,
|
|
# so no obsolete dependecy file gets used if you switch back to an old value.
|
|
inc_dep_file := $(inc).dep.$(subst $(space),-,$(sort $(TARGET_RECOVERY_UPDATER_LIBS)))
|
|
$(inc_dep_file): stem := $(inc).dep
|
|
$(inc_dep_file) :
|
|
$(hide) mkdir -p $(dir $@)
|
|
$(hide) rm -f $(stem).*
|
|
$(hide) touch $@
|
|
|
|
$(inc) : libs := $(TARGET_RECOVERY_UPDATER_LIBS)
|
|
$(inc) : $(inc_dep_file)
|
|
$(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,,,$(TARGET_PREFER_32_BIT))/updater.o : $(inc)
|
|
LOCAL_C_INCLUDES += $(dir $(inc))
|
|
|
|
inc :=
|
|
inc_dep_file :=
|
|
|
|
LOCAL_MODULE := updater
|
|
|
|
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
|
|
|
include $(BUILD_EXECUTABLE)
|