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)" | 
