diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/Makefile | 52 | ||||
-rw-r--r-- | core/binary.mk | 11 | ||||
-rw-r--r-- | core/build_id.mk | 2 | ||||
-rw-r--r-- | core/combo/arch/arm/armv7-a-neon.mk | 2 | ||||
-rw-r--r-- | core/prebuilt_internal.mk | 2 | ||||
-rw-r--r-- | core/product_config.mk | 2 | ||||
-rw-r--r-- | core/qcom_target.mk | 9 | ||||
-rw-r--r-- | core/tasks/kernel.mk | 70 | ||||
-rw-r--r-- | core/version_defaults.mk | 2 |
9 files changed, 99 insertions, 53 deletions
diff --git a/core/Makefile b/core/Makefile index 585b2e9..6cfbc2e 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1035,6 +1035,31 @@ $(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTIMG) $(recovery_ramdisk) $(recovery_k $(call build-recoveryimage-target, $@) endif # BOARD_CUSTOM_BOOTIMG_MK +# The system partition needs room for the recovery image as well. We +# now store the recovery image as a binary patch using the boot image +# as the source (since they are very similar). Generate the patch so +# we can see how big it's going to be, and include that in the system +# image size check calculation. +ifneq ($(INSTALLED_RECOVERYIMAGE_TARGET),) +intermediates := $(call intermediates-dir-for,PACKAGING,recovery_patch) +ifndef BOARD_CANT_BUILD_RECOVERY_FROM_BOOT_PATCH +RECOVERY_FROM_BOOT_PATCH := $(intermediates)/recovery_from_boot.p +else +RECOVERY_FROM_BOOT_PATCH := +endif +$(RECOVERY_FROM_BOOT_PATCH): $(INSTALLED_RECOVERYIMAGE_TARGET) \ + $(INSTALLED_BOOTIMAGE_TARGET) \ + $(HOST_OUT_EXECUTABLES)/imgdiff \ + $(HOST_OUT_EXECUTABLES)/bsdiff + @echo -e ${CL_CYN}"Construct recovery from boot"${CL_RST} + mkdir -p $(dir $@) +ifeq ($(TARGET_NOT_USE_GZIP_RECOVERY_RAMDISK),true) + PATH=$(HOST_OUT_EXECUTABLES):$$PATH $(HOST_OUT_EXECUTABLES)/bsdiff $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_RECOVERYIMAGE_TARGET) $@ +else + PATH=$(HOST_OUT_EXECUTABLES):$$PATH $(HOST_OUT_EXECUTABLES)/imgdiff $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_RECOVERYIMAGE_TARGET) $@ +endif +endif + recovery_patch_path := $(call intermediates-dir-for,PACKAGING,recovery_patch) ota_temp_root := $(PRODUCT_OUT)/ota_temp $(RECOVERY_PATCH_INSTALL): PRIVATE_RECOVERY_API_VERSION := $(RECOVERY_API_VERSION) @@ -1234,37 +1259,12 @@ $(BUILT_SYSTEMIMAGE): $(FULL_SYSTEMIMAGE_DEPS) $(INSTALLED_FILES_FILE) ifndef I_WANT_A_QUAIL_STAR $(BUILT_SYSTEMIMAGE): checkapi +$(BUILT_SYSTEMIMAGE): checkapi-cm endif INSTALLED_SYSTEMIMAGE := $(PRODUCT_OUT)/system.img SYSTEMIMAGE_SOURCE_DIR := $(TARGET_OUT) -# The system partition needs room for the recovery image as well. We -# now store the recovery image as a binary patch using the boot image -# as the source (since they are very similar). Generate the patch so -# we can see how big it's going to be, and include that in the system -# image size check calculation. -ifneq ($(INSTALLED_RECOVERYIMAGE_TARGET),) -intermediates := $(call intermediates-dir-for,PACKAGING,recovery_patch) -ifndef BOARD_CANT_BUILD_RECOVERY_FROM_BOOT_PATCH -RECOVERY_FROM_BOOT_PATCH := $(intermediates)/recovery_from_boot.p -else -RECOVERY_FROM_BOOT_PATCH := -endif -$(RECOVERY_FROM_BOOT_PATCH): $(INSTALLED_RECOVERYIMAGE_TARGET) \ - $(INSTALLED_BOOTIMAGE_TARGET) \ - $(HOST_OUT_EXECUTABLES)/imgdiff \ - $(HOST_OUT_EXECUTABLES)/bsdiff - @echo -e ${CL_CYN}"Construct recovery from boot"${CL_RST} - mkdir -p $(dir $@) -ifeq ($(TARGET_NOT_USE_GZIP_RECOVERY_RAMDISK),true) - PATH=$(HOST_OUT_EXECUTABLES):$$PATH $(HOST_OUT_EXECUTABLES)/bsdiff $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_RECOVERYIMAGE_TARGET) $@ -else - PATH=$(HOST_OUT_EXECUTABLES):$$PATH $(HOST_OUT_EXECUTABLES)/imgdiff $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_RECOVERYIMAGE_TARGET) $@ -endif -endif - - $(INSTALLED_SYSTEMIMAGE): $(BUILT_SYSTEMIMAGE) $(RECOVERY_FROM_BOOT_PATCH) | $(ACP) @echo -e ${CL_CYN}"Install system fs image: $@"${CL_RST} $(copy-file-to-target) diff --git a/core/binary.mk b/core/binary.mk index 88905d9..e25fb31 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -566,6 +566,17 @@ $(proto_generated_headers): $(proto_generated_sources_dir)/%.pb.h: $(proto_gener $(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 f55b184..c2f0b28 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=MMB29U +export BUILD_ID=MHC19J diff --git a/core/combo/arch/arm/armv7-a-neon.mk b/core/combo/arch/arm/armv7-a-neon.mk index 9154f71..89e6573 100644 --- a/core/combo/arch/arm/armv7-a-neon.mk +++ b/core/combo/arch/arm/armv7-a-neon.mk @@ -27,7 +27,7 @@ ifneq (,$(filter cortex-a8 scorpion,$(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT arch_variant_ldflags := \ -Wl,--fix-cortex-a8 else -ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)),cortex-a7) +ifneq (,$(filter cortex-a7 cortex-a53 cortex-a53.a57,$(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT))) arch_variant_cflags := -mcpu=cortex-a7 -mfpu=neon-vfpv4 arch_variant_ldflags := \ -Wl,--no-fix-cortex-a8 diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk index 585ead2..b5ff3a1 100644 --- a/core/prebuilt_internal.mk +++ b/core/prebuilt_internal.mk @@ -211,7 +211,9 @@ $(built_module): PRIVATE_EMBEDDED_JNI_LIBS := $(embedded_prebuilt_jni_libs) $(built_module) : $(my_prebuilt_src_file) | $(ACP) $(ZIPALIGN) $(SIGNAPK_JAR) $(transform-prebuilt-to-target) +ifneq ($(LOCAL_MODULE_PATH),$(TARGET_OUT_VENDOR)/bundled-app) $(uncompress-shared-libs) +endif ifneq ($(LOCAL_CERTIFICATE),PRESIGNED) @# Only strip out files if we can re-sign the package. ifdef LOCAL_DEX_PREOPT diff --git a/core/product_config.mk b/core/product_config.mk index 54050b4..259d983 100644 --- a/core/product_config.mk +++ b/core/product_config.mk @@ -117,7 +117,7 @@ ifdef product_goals # which really means TARGET_PRODUCT=dream make installclean. ifneq ($(filter-out $(INTERNAL_VALID_VARIANTS),$(TARGET_BUILD_VARIANT)),) MAKECMDGOALS := $(MAKECMDGOALS) $(TARGET_BUILD_VARIANT) - TARGET_BUILD_VARIANT := eng + TARGET_BUILD_VARIANT := userdebug default_goal_substitution := else default_goal_substitution := $(DEFAULT_GOAL) diff --git a/core/qcom_target.mk b/core/qcom_target.mk index 5724a5b..092d832 100644 --- a/core/qcom_target.mk +++ b/core/qcom_target.mk @@ -13,8 +13,12 @@ endef # Set device-specific HALs into project pathmap define set-device-specific-path -$(call project-set-path,qcom-$(2),$(strip $(if $(USE_DEVICE_SPECIFIC_$(1)), \ - $(TARGET_DEVICE_DIR)/$(2), $(3)))) +$(if $(USE_DEVICE_SPECIFIC_$(1)), \ + $(if $(DEVICE_SPECIFIC_$(1)_PATH), \ + $(eval path := $(DEVICE_SPECIFIC_$(1)_PATH)), \ + $(eval path := $(TARGET_DEVICE_DIR)/$(2))), \ + $(eval path := $(3))) \ +$(call project-set-path,qcom-$(2),$(strip $(path))) endef ifeq ($(BOARD_USES_QCOM_HARDWARE),true) @@ -33,6 +37,7 @@ ifeq ($(BOARD_USES_QCOM_HARDWARE),true) qcom_flags += -DQCOM_BSP_LEGACY # Enable legacy audio functions ifeq ($(BOARD_USES_LEGACY_ALSA_AUDIO),true) + USE_CUSTOM_AUDIO_POLICY := 1 qcom_flags += -DLEGACY_ALSA_AUDIO endif endif diff --git a/core/tasks/kernel.mk b/core/tasks/kernel.mk index a3fa8a4..d8185b4 100644 --- a/core/tasks/kernel.mk +++ b/core/tasks/kernel.mk @@ -12,7 +12,44 @@ # See the License for the specific language governing permissions and # limitations under the License. + # Android makefile to build kernel as a part of Android Build +# +# Configuration +# ============= +# +# These config vars are usually set in BoardConfig.mk: +# +# TARGET_KERNEL_SOURCE = Kernel source dir, optional, defaults +# to kernel/$(TARGET_DEVICE_DIR) +# TARGET_KERNEL_CONFIG = Kernel defconfig +# TARGET_KERNEL_VARIANT_CONFIG = Variant defconfig, optional +# TARGET_KERNEL_SELINUX_CONFIG = SELinux defconfig, optional +# TARGET_KERNEL_ADDITIONAL_CONFIG = Additional defconfig, optional +# TARGET_KERNEL_ARCH = Kernel Arch +# TARGET_KERNEL_HEADER_ARCH = Optional Arch for kernel headers if +# different from TARGET_KERNEL_ARCH +# 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- +# +# BOARD_KERNEL_IMAGE_NAME = Built image name, optional, +# defaults to Image.gz on arm64 +# defaults to Image if TARGET_USES_UNCOMPRESSED_KERNEL +# defaults to zImage otherwise +# +# KERNEL_TOOLCHAIN_PREFIX = Overrides TARGET_KERNEL_CROSS_COMPILE_PREFIX, +# Set this var in shell to override +# toolchain specified in BoardConfig.mk +# KERNEL_TOOLCHAIN = Path to toolchain, if unset, assumes +# TARGET_KERNEL_CROSS_COMPILE_PREFIX +# is in PATH +# USE_CCACHE = Enable ccache (global Android flag) +# +# NEED_KERNEL_MODULE_ROOT = Optional, if true, install kernel +# modules in root instead of system + TARGET_AUTO_KDIR := $(shell echo $(TARGET_DEVICE_DIR) | sed -e 's/^device/kernel/g') @@ -159,33 +196,24 @@ else endif endif -ifeq ($(BOARD_HAS_MTK_HARDWARE),true) - ifeq ($(BOARD_USES_MTK_KERNELBUILD),true) - include $(CLEAR_VARS) - $(shell rm -f $(TARGET_PREBUILT_INT_KERNEL)) - FULL_KERNEL_BUILD := false - PROJECT_NAME := $(TARGET_KERNEL_CONFIG) -$(TARGET_PREBUILT_INT_KERNEL): - cd $(TARGET_KERNEL_SOURCE) && env -i PATH=$(PATH) ./makeMtk -t -o=OUT_DIR=$(OUT_DIR),TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT) $(PROJECT_NAME) r k - -cd $(TARGET_KERNEL_SOURCE) && git clean -fd - - endif -endif - ifeq ($(FULL_KERNEL_BUILD),true) KERNEL_HEADERS_INSTALL := $(KERNEL_OUT)/usr KERNEL_HEADERS_INSTALL_STAMP := $(KERNEL_OUT)/.headers_install_stamp + +ifeq ($(NEED_KERNEL_MODULE_ROOT),true) +KERNEL_MODULES_INSTALL := root +KERNEL_MODULES_OUT := $(TARGET_ROOT_OUT)/lib/modules +else KERNEL_MODULES_INSTALL := system 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),) -ifeq ($(KERNEL_TOOLCHAIN_PREFIX),) -KERNEL_TOOLCHAIN_PREFIX := arm-none-eabi- -endif +KERNEL_TOOLCHAIN_PREFIX ?= arm-none-eabi- else -KERNEL_TOOLCHAIN_PREFIX := arm-none-eabi- +KERNEL_TOOLCHAIN_PREFIX ?= $(TARGET_KERNEL_CROSS_COMPILE_PREFIX) endif ifeq ($(KERNEL_TOOLCHAIN),) @@ -232,6 +260,7 @@ endif $(KERNEL_OUT_STAMP): $(hide) mkdir -p $(KERNEL_OUT) + $(hide) rm -rf $(KERNEL_MODULES_OUT) $(hide) mkdir -p $(KERNEL_MODULES_OUT) $(hide) touch $@ @@ -242,6 +271,7 @@ $(KERNEL_ADDITIONAL_CONFIG_OUT): force_additional_config $(hide) cmp -s $(KERNEL_ADDITIONAL_CONFIG_SRC) $@ || cp $(KERNEL_ADDITIONAL_CONFIG_SRC) $@; $(KERNEL_CONFIG): $(KERNEL_OUT_STAMP) $(KERNEL_DEFCONFIG_SRC) $(KERNEL_ADDITIONAL_CONFIG_OUT) + @echo -e ${CL_GRN}"Building Kernel Config"${CL_RST} $(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) VARIANT_DEFCONFIG=$(VARIANT_DEFCONFIG) SELINUX_DEFCONFIG=$(SELINUX_DEFCONFIG) $(KERNEL_DEFCONFIG) $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \ echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \ @@ -281,6 +311,7 @@ $(TARGET_PREBUILT_INT_KERNEL): $(TARGET_KERNEL_MODULES) $(clean-module-folder) $(KERNEL_HEADERS_INSTALL_STAMP): $(KERNEL_OUT_STAMP) $(KERNEL_CONFIG) + @echo -e ${CL_GRN}"Building Kernel Headers"${CL_RST} $(hide) if [ ! -z "$(KERNEL_HEADER_DEFCONFIG)" ]; then \ rm -f ../$(KERNEL_CONFIG); \ $(MAKE) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_HEADER_ARCH) $(KERNEL_CROSS_COMPILE) VARIANT_DEFCONFIG=$(VARIANT_DEFCONFIG) SELINUX_DEFCONFIG=$(SELINUX_DEFCONFIG) $(KERNEL_HEADER_DEFCONFIG); \ @@ -308,10 +339,7 @@ kerneltags: $(KERNEL_OUT_STAMP) $(KERNEL_CONFIG) kernelconfig: KERNELCONFIG_MODE := menuconfig kernelxconfig: KERNELCONFIG_MODE := xconfig kernelxconfig kernelconfig: $(KERNEL_OUT_STAMP) - $(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) VARIANT_DEFCONFIG=$(VARIANT_DEFCONFIG) SELINUX_DEFCONFIG=$(SELINUX_DEFCONFIG) $(KERNEL_DEFCONFIG) - $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \ - echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \ - echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; fi + $(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) $(KERNEL_DEFCONFIG) env KCONFIG_NOTIMESTAMP=true \ $(MAKE) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) $(KERNELCONFIG_MODE) env KCONFIG_NOTIMESTAMP=true \ diff --git a/core/version_defaults.mk b/core/version_defaults.mk index bf9b2e8..be5833d 100644 --- a/core/version_defaults.mk +++ b/core/version_defaults.mk @@ -103,7 +103,7 @@ ifeq "" "$(PLATFORM_SECURITY_PATCH)" # 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-02-01 + PLATFORM_SECURITY_PATCH := 2016-03-01 endif ifeq "" "$(PLATFORM_BASE_OS)" |