1 LOCAL_PATH := $(call my-dir) 2 3 # 4 # OTA Executable 5 # 6 7 include $(CLEAR_VARS) 8 LOCAL_MODULE := otapreopt 9 LOCAL_CFLAGS := -Wall -Werror 10 11 # Base & ASLR boundaries for boot image creation. 12 ifndef LIBART_IMG_HOST_MIN_BASE_ADDRESS_DELTA 13 LOCAL_LIBART_IMG_HOST_MIN_BASE_ADDRESS_DELTA := -0x1000000 14 else 15 LOCAL_LIBART_IMG_HOST_MIN_BASE_ADDRESS_DELTA := $(LIBART_IMG_HOST_MIN_BASE_ADDRESS_DELTA) 16 endif 17 ifndef LIBART_IMG_HOST_MAX_BASE_ADDRESS_DELTA 18 LOCAL_LIBART_IMG_HOST_MAX_BASE_ADDRESS_DELTA := 0x1000000 19 else 20 LOCAL_LIBART_IMG_HOST_MAX_BASE_ADDRESS_DELTA := $(LIBART_IMG_HOST_MAX_BASE_ADDRESS_DELTA) 21 endif 22 LOCAL_CFLAGS += -DART_BASE_ADDRESS=$(LIBART_IMG_HOST_BASE_ADDRESS) 23 LOCAL_CFLAGS += -DART_BASE_ADDRESS_MIN_DELTA=$(LOCAL_LIBART_IMG_HOST_MIN_BASE_ADDRESS_DELTA) 24 LOCAL_CFLAGS += -DART_BASE_ADDRESS_MAX_DELTA=$(LOCAL_LIBART_IMG_HOST_MAX_BASE_ADDRESS_DELTA) 25 26 LOCAL_SRC_FILES := otapreopt.cpp globals.cpp utils.cpp dexopt.cpp 27 LOCAL_HEADER_LIBRARIES := dex2oat_headers 28 LOCAL_SHARED_LIBRARIES := \ 29 libbase \ 30 libcutils \ 31 liblog \ 32 liblogwrap \ 33 libselinux \ 34 libutils \ 35 36 LOCAL_STATIC_LIBRARIES := libdiskusage 37 LOCAL_CLANG := true 38 include $(BUILD_EXECUTABLE) 39 40 # OTA slot script 41 42 include $(CLEAR_VARS) 43 LOCAL_MODULE:= otapreopt_slot 44 LOCAL_MODULE_TAGS := optional 45 LOCAL_MODULE_CLASS := EXECUTABLES 46 LOCAL_SRC_FILES := otapreopt_slot.sh 47 LOCAL_INIT_RC := otapreopt.rc 48 49 include $(BUILD_PREBUILT) 50 51 # OTA postinstall script 52 53 include $(CLEAR_VARS) 54 LOCAL_MODULE:= otapreopt_script 55 LOCAL_MODULE_TAGS := optional 56 LOCAL_MODULE_CLASS := EXECUTABLES 57 LOCAL_SRC_FILES := otapreopt_script.sh 58 59 # Let this depend on otapreopt, the chroot tool and the slot script, so we just have to mention one 60 # in a configuration. 61 LOCAL_REQUIRED_MODULES := otapreopt otapreopt_chroot otapreopt_slot 62 63 include $(BUILD_PREBUILT) 64