diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-12-13 02:00:48 +0100 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-12-13 02:00:48 +0100 |
commit | f0e2077caea3afc6456b046c66989b780f8c1111 (patch) | |
tree | 5410cd542c0f842a3536d74a8a7a5f985808fc18 /core | |
parent | 6662a629cef6f9bcf7edf0885080e3857b8b49b5 (diff) | |
parent | ea2aaaeee4322b13eb1fd48342fc8f4a8109a83f (diff) | |
download | build-f0e2077caea3afc6456b046c66989b780f8c1111.zip build-f0e2077caea3afc6456b046c66989b780f8c1111.tar.gz build-f0e2077caea3afc6456b046c66989b780f8c1111.tar.bz2 |
Merge branch 'cm-13.0' of https://github.com/CyanogenMod/android_build into replicant-6.0
Diffstat (limited to 'core')
-rw-r--r-- | core/Makefile | 11 | ||||
-rw-r--r-- | core/base_rules.mk | 2 | ||||
-rw-r--r-- | core/binary.mk | 29 | ||||
-rw-r--r-- | core/build_id.mk | 2 | ||||
-rw-r--r-- | core/clang/HOST_x86_common.mk | 2 | ||||
-rw-r--r-- | core/clear_vars.mk | 1 | ||||
-rw-r--r-- | core/config.mk | 5 | ||||
-rw-r--r-- | core/generate_extra_images.mk | 8 | ||||
-rw-r--r-- | core/main.mk | 4 | ||||
-rw-r--r-- | core/mtk_target.mk | 13 | ||||
-rw-r--r-- | core/prebuilt_internal.mk | 5 | ||||
-rw-r--r-- | core/product.mk | 4 | ||||
-rw-r--r-- | core/qcom_target.mk | 30 | ||||
-rwxr-xr-x | core/qcom_utils.mk | 3 | ||||
-rw-r--r-- | core/static_java_library.mk | 4 | ||||
-rw-r--r-- | core/tasks/dt_image.mk | 11 | ||||
-rw-r--r-- | core/tasks/kernel.mk | 17 | ||||
-rw-r--r-- | core/tasks/oem_image.mk | 11 | ||||
-rw-r--r-- | core/version_defaults.mk | 10 |
19 files changed, 131 insertions, 41 deletions
diff --git a/core/Makefile b/core/Makefile index 6cfbc2e..b9f7c2e 100644 --- a/core/Makefile +++ b/core/Makefile @@ -248,6 +248,8 @@ endif TARGET_CPU_ABI2="$(TARGET_CPU_ABI2)" \ TARGET_AAPT_CHARACTERISTICS="$(TARGET_AAPT_CHARACTERISTICS)" \ TARGET_UNIFIED_DEVICE="$(TARGET_UNIFIED_DEVICE)" \ + TARGET_SKIP_DEFAULT_LOCALE="$(TARGET_SKIP_DEFAULT_LOCALE)" \ + TARGET_SKIP_PRODUCT_DEVICE="$(TARGET_SKIP_PRODUCT_DEVICE)" \ $(PRODUCT_BUILD_PROP_OVERRIDES) \ bash $(BUILDINFO_SH) >> $@ $(hide) $(foreach file,$(system_prop_file), \ @@ -549,7 +551,7 @@ ifeq ($(TARGET_BOOTIMAGE_USE_EXT2),true) $(error TARGET_BOOTIMAGE_USE_EXT2 is not supported anymore) else ifeq (true,$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SUPPORTS_BOOT_SIGNER)) # TARGET_BOOTIMAGE_USE_EXT2 != true -$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(BOOT_SIGNER) +$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(BOOT_SIGNER) $(BOOTIMAGE_EXTRA_DEPS) $(call pretty,"Target boot image: $@") $(hide) $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $@ $(BOOT_SIGNER) /boot $@ $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_VERITY_SIGNING_KEY).pk8 $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_VERITY_SIGNING_KEY).x509.pem $@ @@ -1651,6 +1653,7 @@ endif # Depending on the various images guarantees that the underlying # directories are up-to-date. +include $(BUILD_SYSTEM)/tasks/oem_image.mk $(BUILT_TARGET_FILES_PACKAGE): \ $(INSTALLED_BOOTIMAGE_TARGET) \ $(INSTALLED_RADIOIMAGE_TARGET) \ @@ -1659,6 +1662,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \ $(INSTALLED_USERDATAIMAGE_TARGET) \ $(INSTALLED_CACHEIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ + $(INSTALLED_OEMIMAGE_TARGET) \ $(INSTALLED_ANDROID_INFO_TXT_TARGET) \ $(SELINUX_FC) \ $(built_ota_tools) \ @@ -1768,6 +1772,11 @@ ifdef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE $(hide) $(call package_files-copy-root, \ $(TARGET_OUT_VENDOR),$(zip_root)/VENDOR) endif +ifdef BOARD_OEMIMAGE_FILE_SYSTEM_TYPE + @# Contents of the oem image + $(call package_files-copy-root, \ + $(TARGET_OUT_OEM),$(zip_root)/OEM) +endif @# Extra contents of the OTA package $(hide) mkdir -p $(zip_root)/OTA/bin $(hide) $(ACP) $(INSTALLED_ANDROID_INFO_TXT_TARGET) $(zip_root)/OTA/ diff --git a/core/base_rules.mk b/core/base_rules.mk index 202398a..8ed6dcf 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -219,7 +219,7 @@ else # build against the platform. LOCAL_AIDL_INCLUDES += $(FRAMEWORKS_BASE_JAVA_SRC_DIRS) endif # LOCAL_SDK_VERSION -$(aidl_java_sources): PRIVATE_AIDL_FLAGS := -b $(addprefix -p,$(aidl_preprocess_import)) -I$(LOCAL_PATH) -I$(LOCAL_PATH)/src $(addprefix -I,$(LOCAL_AIDL_INCLUDES)) +$(aidl_java_sources): PRIVATE_AIDL_FLAGS := -b $(addprefix -p,$(aidl_preprocess_import)) -I$(LOCAL_PATH) -I$(LOCAL_PATH)/src $(addprefix -I,$(LOCAL_AIDL_INCLUDES)) $(LOCAL_AIDL_FLAGS) $(aidl_java_sources): $(intermediates.COMMON)/src/%.java: \ $(TOPDIR)$(LOCAL_PATH)/%.aidl \ diff --git a/core/binary.mk b/core/binary.mk index e25fb31..7610dce 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -30,6 +30,15 @@ else endif endif +# Many qcom modules don't correctly set a dependency on the kernel headers. Fix it for them, +# but warn the user. +ifneq (,$(findstring $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include,$(LOCAL_C_INCLUDES))) + ifeq (,$(findstring $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr,$(LOCAL_ADDITIONAL_DEPENDENCIES))) + $(warning $(LOCAL_MODULE) uses kernel headers, but does not depend on them!) + LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr + endif +endif + # The following LOCAL_ variables will be modified in this file. # Because the same LOCAL_ variables may be used to define modules for both 1st arch and 2nd arch, # we can't modify them in place. @@ -542,9 +551,10 @@ define copy-proto-files $(if $(PRIVATE_PROTOC_OUTPUT), \ $(if $(call streq,$(PRIVATE_PROTOC_INPUT),$(PRIVATE_PROTOC_OUTPUT)),, \ $(eval proto_generated_path := $(dir $(subst $(PRIVATE_PROTOC_INPUT),$(PRIVATE_PROTOC_OUTPUT),$@))) + $(eval proto_target_files := $(patsubst %.pb$(PRIVATE_PROTOC_SUFFIX), %.pb.*, $@)) @mkdir -p $(dir $(proto_generated_path)) - @echo "Protobuf relocation: $@ => $(proto_generated_path)" - @cp -f $@ $(proto_generated_path) ),) + @echo "Protobuf relocation: $(proto_target_files) => $(proto_generated_path)" + @cp -f $(proto_target_files) $(proto_generated_path) ),) endef @@ -554,28 +564,15 @@ $(proto_generated_sources): PRIVATE_PROTO_INCLUDES := $(TOP) $(proto_generated_sources): PRIVATE_PROTOC_FLAGS := $(LOCAL_PROTOC_FLAGS) $(my_protoc_flags) $(proto_generated_sources): PRIVATE_PROTOC_OUTPUT := $(LOCAL_PROTOC_OUTPUT) $(proto_generated_sources): PRIVATE_PROTOC_INPUT := $(LOCAL_PATH) +$(proto_generated_sources): PRIVATE_PROTOC_SUFFIX := $(my_proto_source_suffix) $(proto_generated_sources): $(proto_generated_sources_dir)/%.pb$(my_proto_source_suffix): %.proto $(PROTOC) $(transform-proto-to-cc) $(copy-proto-files) # This is just a dummy rule to make sure gmake doesn't skip updating the dependents. -$(proto_generated_headers): PRIVATE_PROTOC_OUTPUT := $(LOCAL_PROTOC_OUTPUT) -$(proto_generated_headers): PRIVATE_PROTOC_INPUT := $(LOCAL_PATH) $(proto_generated_headers): $(proto_generated_sources_dir)/%.pb.h: $(proto_generated_sources_dir)/%.pb$(my_proto_source_suffix) @echo "Updated header file $@." $(hide) touch $@ - $(copy-proto-files) - -$(if $(LOCAL_PROTOC_OUTPUT), \ -$(if $(call streq,$(LOCAL_PROTOC_OUTPUT),$(LOCAL_PATH)),, \ - $(eval proto_relocated_headers := $(subst $(LOCAL_PATH),$(LOCAL_PROTOC_OUTPUT),$(proto_generated_headers))) \ - ), ) - -ifdef proto_relocated_headers -$(proto_relocated_headers): $(proto_generated_headers) - echo "Refreshed header file $@." - $(hide) touch $@ -endif $(my_prefix)_$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_proto_defined := true endif # transform-proto-to-cc rule included only once diff --git a/core/build_id.mk b/core/build_id.mk index c2f0b28..8928324 100644 --- a/core/build_id.mk +++ b/core/build_id.mk @@ -18,4 +18,4 @@ # (like "CRB01"). It must be a single word, and is # capitalized by convention. -export BUILD_ID=MHC19J +export BUILD_ID=MOB31K diff --git a/core/clang/HOST_x86_common.mk b/core/clang/HOST_x86_common.mk index 87135e7..31415ef 100644 --- a/core/clang/HOST_x86_common.mk +++ b/core/clang/HOST_x86_common.mk @@ -47,4 +47,4 @@ endif # Linux ifeq ($(HOST_OS),windows) # nothing required here yet -endif +endif
\ No newline at end of file diff --git a/core/clear_vars.mk b/core/clear_vars.mk index 5c53c9f..1a3ce19 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -103,6 +103,7 @@ LOCAL_APK_LIBRARIES:= LOCAL_RES_LIBRARIES:= LOCAL_MANIFEST_INSTRUMENTATION_FOR:= LOCAL_AIDL_INCLUDES:= +LOCAL_AIDL_FLAGS:= LOCAL_JARJAR_RULES:= LOCAL_ADDITIONAL_JAVA_DIR:= LOCAL_ALLOW_UNDEFINED_SYMBOLS:= diff --git a/core/config.mk b/core/config.mk index f6a1458..facf37c 100644 --- a/core/config.mk +++ b/core/config.mk @@ -187,6 +187,8 @@ FIND_LEAVES_EXCLUDES := $(addprefix --prune=, $(OUT_DIR) $(SCAN_EXCLUDE_DIRS) .r $(call project-set-path-variant,recovery,RECOVERY_VARIANT,bootable/recovery) -include vendor/extra/BoardConfigExtra.mk +-include vendor/cm/config/BoardConfigCM.mk + # The build system exposes several variables for where to find the kernel # headers: # TARGET_DEVICE_KERNEL_HEADERS is automatically created for the current @@ -563,6 +565,9 @@ endif # Rules for QCOM targets include $(BUILD_SYSTEM)/qcom_target.mk +# Rules for MTK targets +include $(BUILD_SYSTEM)/mtk_target.mk + # ############################################################### # Set up final options. # ############################################################### diff --git a/core/generate_extra_images.mk b/core/generate_extra_images.mk index 8ac9867..f7fb0c5 100644 --- a/core/generate_extra_images.mk +++ b/core/generate_extra_images.mk @@ -108,11 +108,11 @@ endif .PHONY: aboot aboot: $(INSTALLED_BOOTLOADER_MODULE) -.PHONY: kernel -kernel: $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_SEC_BOOTIMAGE_TARGET) +.PHONY: sec_bootimage +sec_bootimage: $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_SEC_BOOTIMAGE_TARGET) -.PHONY: recoveryimage -recoveryimage: $(INSTALLED_RECOVERYIMAGE_TARGET) $(INSTALLED_SEC_RECOVERYIMAGE_TARGET) +.PHONY: sec_recoveryimage +sec_recoveryimage: $(INSTALLED_RECOVERYIMAGE_TARGET) $(INSTALLED_SEC_RECOVERYIMAGE_TARGET) .PHONY: persistimage persistimage: $(INSTALLED_PERSISTIMAGE_TARGET) diff --git a/core/main.mk b/core/main.mk index e6794a0..139fa46 100644 --- a/core/main.mk +++ b/core/main.mk @@ -98,6 +98,9 @@ include $(BUILD_SYSTEM)/config.mk # CTS-specific config. -include cts/build/config.mk +# CMTS-specific config. +-include vendor/cmts/build/config.mk + # This allows us to force a clean build - included after the config.mk # environment setup is done, but before we generate any dependencies. This # file does the rm -rf inline so the deps which are all done below will @@ -284,6 +287,7 @@ tags_to_install := ifneq (,$(user_variant)) # Target is secure in user builds. ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1 + ADDITIONAL_DEFAULT_PROPERTIES += security.perf_harden=1 ifeq ($(user_variant),userdebug) # Pick up some extra useful tools diff --git a/core/mtk_target.mk b/core/mtk_target.mk new file mode 100644 index 0000000..7c3ba1f --- /dev/null +++ b/core/mtk_target.mk @@ -0,0 +1,13 @@ +ifeq ($(BOARD_USES_MTK_HARDWARE),true) + mtk_flags := -DMTK_HARDWARE + + TARGET_GLOBAL_CFLAGS += $(mtk_flags) + TARGET_GLOBAL_CPPFLAGS += $(mtk_flags) + CLANG_TARGET_GLOBAL_CFLAGS += $(mtk_flags) + CLANG_TARGET_GLOBAL_CPPFLAGS += $(mtk_flags) + + 2ND_TARGET_GLOBAL_CFLAGS += $(mtk_flags) + 2ND_TARGET_GLOBAL_CPPFLAGS += $(mtk_flags) + 2ND_CLANG_TARGET_GLOBAL_CFLAGS += $(mtk_flags) + 2ND_CLANG_TARGET_GLOBAL_CPPFLAGS += $(mtk_flags) +endif diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk index b5ff3a1..2a4b716 100644 --- a/core/prebuilt_internal.mk +++ b/core/prebuilt_internal.mk @@ -190,6 +190,11 @@ ifeq ($(DONT_DEXPREOPT_PREBUILTS),true) LOCAL_DEX_PREOPT := false endif +# Disable dex-preopt of specific prebuilts to save space, if requested. +ifneq ($(filter $(DEXPREOPT_BLACKLIST),$(LOCAL_MODULE)),) +LOCAL_DEX_PREOPT := false +endif + ####################################### # defines built_odex along with rule to install odex include $(BUILD_SYSTEM)/dex_preopt_odex_install.mk diff --git a/core/product.mk b/core/product.mk index 427fd83..cced554 100644 --- a/core/product.mk +++ b/core/product.mk @@ -327,6 +327,10 @@ _product_stash_var_list += \ GLOBAL_CFLAGS_NO_OVERRIDE \ GLOBAL_CPPFLAGS_NO_OVERRIDE \ +_product_stash_var_list += \ + TARGET_SKIP_DEFAULT_LOCALE \ + TARGET_SKIP_PRODUCT_DEVICE \ + # # Stash values of the variables in _product_stash_var_list. # $(1): Renamed prefix diff --git a/core/qcom_target.mk b/core/qcom_target.mk index 092d832..9b8d6bb 100644 --- a/core/qcom_target.mk +++ b/core/qcom_target.mk @@ -27,12 +27,14 @@ ifeq ($(BOARD_USES_QCOM_HARDWARE),true) qcom_flags += -DQCOM_BSP qcom_flags += -DQTI_BSP + BOARD_USES_ADRENO := true + TARGET_USES_QCOM_BSP := true # Tell HALs that we're compiling an AOSP build with an in-line kernel TARGET_COMPILE_WITH_MSM_KERNEL := true - ifneq ($(filter msm7x30 msm8660 msm8960,$(TARGET_BOARD_PLATFORM)),) + ifneq ($(filter msm7x27a msm7x30 msm8660 msm8960,$(TARGET_BOARD_PLATFORM)),) # Enable legacy graphics functions qcom_flags += -DQCOM_BSP_LEGACY # Enable legacy audio functions @@ -60,6 +62,9 @@ ifeq ($(BOARD_USES_QCOM_HARDWARE),true) ifneq ($(filter msm8909 msm8916,$(TARGET_BOARD_PLATFORM)),) QCOM_HARDWARE_VARIANT := msm8916 else + ifneq ($(filter msm8953 msm8937,$(TARGET_BOARD_PLATFORM)),) + QCOM_HARDWARE_VARIANT := msm8937 + else ifneq ($(filter msm8992 msm8994,$(TARGET_BOARD_PLATFORM)),) QCOM_HARDWARE_VARIANT := msm8994 else @@ -67,17 +72,27 @@ ifeq ($(BOARD_USES_QCOM_HARDWARE),true) endif endif endif + endif endif -$(call project-set-path,qcom-audio,hardware/qcom/audio-caf/$(QCOM_HARDWARE_VARIANT)) - -ifeq ($(SONY_BF64_KERNEL_VARIANT),true) -$(call project-set-path,qcom-display,hardware/qcom/display-caf/sony) -$(call project-set-path,qcom-media,hardware/qcom/media-caf/sony) +# HACK: check to see if build uses standard QC HAL paths by checking for CM path structure +AOSP_VARIANT_MAKEFILE := $(wildcard hardware/qcom/audio/default/Android.mk) +ifeq ("$(AOSP_VARIANT_MAKEFILE)","") +$(call project-set-path,qcom-audio,hardware/qcom/audio) +$(call project-set-path,qcom-display,hardware/qcom/display) +$(call project-set-path,qcom-media,hardware/qcom/media) +$(call set-device-specific-path,CAMERA,camera,hardware/qcom/camera) +$(call set-device-specific-path,GPS,gps,hardware/qcom/gps) +$(call set-device-specific-path,SENSORS,sensors,hardware/qcom/sensors) +$(call set-device-specific-path,LOC_API,loc-api,vendor/qcom/opensource/location) +$(call set-device-specific-path,DATASERVICES,dataservices,vendor/qcom/opensource/dataservices) +$(call project-set-path,ril,hardware/ril) +$(call project-set-path,wlan,hardware/qcom/wlan) +$(call project-set-path,bt-vendor,hardware/qcom/bt) else +$(call project-set-path,qcom-audio,hardware/qcom/audio-caf/$(QCOM_HARDWARE_VARIANT)) $(call project-set-path,qcom-display,hardware/qcom/display-caf/$(QCOM_HARDWARE_VARIANT)) $(call project-set-path,qcom-media,hardware/qcom/media-caf/$(QCOM_HARDWARE_VARIANT)) -endif $(call set-device-specific-path,CAMERA,camera,hardware/qcom/camera) $(call set-device-specific-path,GPS,gps,hardware/qcom/gps) @@ -88,6 +103,7 @@ $(call set-device-specific-path,DATASERVICES,dataservices,vendor/qcom/opensource $(call ril-set-path-variant,ril) $(call wlan-set-path-variant,wlan-caf) $(call bt-vendor-set-path-variant,bt-caf) +endif # AOSP_VARIANT_MAKEFILE else diff --git a/core/qcom_utils.mk b/core/qcom_utils.mk index 5e8a4a2..50e0b4e 100755 --- a/core/qcom_utils.mk +++ b/core/qcom_utils.mk @@ -1,5 +1,6 @@ # Board platforms lists to be used for # TARGET_BOARD_PLATFORM specific featurization +QCOM_BOARD_PLATFORMS += msm7x27a QCOM_BOARD_PLATFORMS += msm7x30 QCOM_BOARD_PLATFORMS += msm8226 QCOM_BOARD_PLATFORMS += msm8610 @@ -9,7 +10,9 @@ QCOM_BOARD_PLATFORMS += msm8916 QCOM_BOARD_PLATFORMS += msm8960 QCOM_BOARD_PLATFORMS += msm8974 QCOM_BOARD_PLATFORMS += mpq8092 +QCOM_BOARD_PLATFORMS += msm8937 QCOM_BOARD_PLATFORMS += msm8952 +QCOM_BOARD_PLATFORMS += msm8953 QCOM_BOARD_PLATFORMS += msm8992 QCOM_BOARD_PLATFORMS += msm8994 QCOM_BOARD_PLATFORMS += msm8996 diff --git a/core/static_java_library.mk b/core/static_java_library.mk index 764ab89..99f4455 100644 --- a/core/static_java_library.mk +++ b/core/static_java_library.mk @@ -140,6 +140,7 @@ $(built_aar): PRIVATE_ANDROID_MANIFEST := $(full_android_manifest) $(built_aar): PRIVATE_CLASSES_JAR := $(LOCAL_BUILT_MODULE) $(built_aar): PRIVATE_RESOURCE_DIR := $(LOCAL_RESOURCE_DIR) $(built_aar): PRIVATE_R_TXT := $(LOCAL_INTERMEDIATE_SOURCE_DIR)/R.txt +$(built_aar): PRIVATE_CONSUMER_PROGUARD_FILE := $(LOCAL_CONSUMER_PROGUARD_FILE) $(built_aar) : $(LOCAL_BUILT_MODULE) @echo "target AAR: $(PRIVATE_MODULE) ($@)" $(hide) rm -rf $(dir $@)aar && mkdir -p $(dir $@)aar/res @@ -148,6 +149,9 @@ $(built_aar) : $(LOCAL_BUILT_MODULE) # Note: Use "cp -n" to honor the resource overlay rules, if multiple res dirs exist. $(hide) $(foreach res,$(PRIVATE_RESOURCE_DIR),cp -Rfn $(res)/* $(dir $@)aar/res;) $(hide) cp $(PRIVATE_R_TXT) $(dir $@)aar/R.txt + $(hide) if [ ! -z "$(PRIVATE_CONSUMER_PROGUARD_FILE)" ]; then \ + echo "Including '$(PRIVATE_CONSUMER_PROGUARD_FILE)'"; \ + cp $(PRIVATE_CONSUMER_PROGUARD_FILE) $(dir $@)aar/proguard.txt; fi $(hide) jar -cMf $@ \ -C $(dir $@)aar . diff --git a/core/tasks/dt_image.mk b/core/tasks/dt_image.mk index ca7e87f..60d45cc 100644 --- a/core/tasks/dt_image.mk +++ b/core/tasks/dt_image.mk @@ -18,8 +18,13 @@ DTBTOOL := $(HOST_OUT_EXECUTABLES)/$(DTBTOOL_NAME)$(HOST_EXECUTABLE_SUFFIX) INSTALLED_DTIMAGE_TARGET := $(PRODUCT_OUT)/dt.img -# Most specific paths must come first in possible_dtb_dirs +ifeq ($(strip $(TARGET_CUSTOM_DTBTOOL)),) +# dtbToolCM will search subdirectories possible_dtb_dirs = $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/ +else +# Most specific paths must come first in possible_dtb_dirs +possible_dtb_dirs = $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts/ $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/ +endif dtb_dir = $(firstword $(wildcard $(possible_dtb_dirs))) define build-dtimage-target @@ -34,6 +39,10 @@ $(INSTALLED_DTIMAGE_TARGET): $(DTBTOOL) $(INSTALLED_KERNEL_TARGET) ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_DTIMAGE_TARGET) ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(INSTALLED_DTIMAGE_TARGET) + +.PHONY: dtimage +dtimage: $(INSTALLED_DTIMAGE_TARGET) + endif endif endif diff --git a/core/tasks/kernel.mk b/core/tasks/kernel.mk index d8185b4..0d8c888 100644 --- a/core/tasks/kernel.mk +++ b/core/tasks/kernel.mk @@ -32,7 +32,9 @@ # TARGET_USES_UNCOMPRESSED_KERNEL = 'true' if Kernel is uncompressed, # optional, defaults to false # TARGET_KERNEL_CROSS_COMPILE_PREFIX = Compiler prefix (e.g. aarch64-linux-android-) -# defaults to arm-eabi- +# defaults to arm-eabi- for arm +# aarch64-linux-android- for arm64 +# x86_64-linux-android- for x86 # # BOARD_KERNEL_IMAGE_NAME = Built image name, optional, # defaults to Image.gz on arm64 @@ -210,10 +212,14 @@ KERNEL_MODULES_OUT := $(TARGET_OUT)/lib/modules endif TARGET_KERNEL_CROSS_COMPILE_PREFIX := $(strip $(TARGET_KERNEL_CROSS_COMPILE_PREFIX)) -ifeq ($(TARGET_KERNEL_CROSS_COMPILE_PREFIX),) -KERNEL_TOOLCHAIN_PREFIX ?= arm-none-eabi- -else +ifneq ($(TARGET_KERNEL_CROSS_COMPILE_PREFIX),) KERNEL_TOOLCHAIN_PREFIX ?= $(TARGET_KERNEL_CROSS_COMPILE_PREFIX) +else ifeq ($(KERNEL_ARCH),arm64) +KERNEL_TOOLCHAIN_PREFIX ?= aarch64-linux-android- +else ifeq ($(KERNEL_ARCH),arm) +KERNEL_TOOLCHAIN_PREFIX ?= arm-none-eabi- +else ifeq ($(KERNEL_ARCH),x86) +KERNEL_TOOLCHAIN_PREFIX ?= x86_64-linux-android- endif ifeq ($(KERNEL_TOOLCHAIN),) @@ -362,3 +368,6 @@ $(file) : $(KERNEL_BIN) | $(ACP) ALL_PREBUILT += $(INSTALLED_KERNEL_TARGET) endif + +.PHONY: kernel +kernel: $(INSTALLED_KERNEL_TARGET) diff --git a/core/tasks/oem_image.mk b/core/tasks/oem_image.mk index 32d56a7..8a06670 100644 --- a/core/tasks/oem_image.mk +++ b/core/tasks/oem_image.mk @@ -15,7 +15,16 @@ # # We build oem.img only if it's asked for. +skip_oem_image := true ifneq ($(filter $(MAKECMDGOALS),oem_image),) + skip_oem_image := false +endif + +ifneq ($(BOARD_OEMIMAGE_FILE_SYSTEM_TYPE),) + skip_oem_image := false +endif + +ifneq ($(skip_oem_image),true) ifndef BOARD_OEMIMAGE_PARTITION_SIZE $(error BOARD_OEMIMAGE_PARTITION_SIZE is not set.) endif @@ -43,4 +52,4 @@ $(INSTALLED_OEMIMAGE_TARGET) : $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_OEMIMAGE_F oem_image : $(INSTALLED_OEMIMAGE_TARGET) $(call dist-for-goals, oem_image, $(INSTALLED_OEMIMAGE_TARGET)) -endif # oem_image in $(MAKECMDGOALS) +endif diff --git a/core/version_defaults.mk b/core/version_defaults.mk index be5833d..03b9011 100644 --- a/core/version_defaults.mk +++ b/core/version_defaults.mk @@ -100,10 +100,12 @@ endif ifeq "" "$(PLATFORM_SECURITY_PATCH)" # Used to indicate the security patch that has been applied to the device. - # Can be an arbitrary string, but must be a single word. - # - # If there is no $PLATFORM_SECURITY_PATCH set, keep it empty. - PLATFORM_SECURITY_PATCH := 2016-03-01 + # It must signify that the build includes all security patches issued up through the designated Android Public Security Bulletin. + # It must be of the form "YYYY-MM-DD" on production devices. + # It must match one of the Android Security Patch Level strings of the Public Security Bulletins. + # + # If there is no $PLATFORM_SECURITY_PATCH set, keep it empty. + PLATFORM_SECURITY_PATCH := 2016-11-05 endif ifeq "" "$(PLATFORM_BASE_OS)" |