Loading CleanSpec.mk +33 −9 Original line number Diff line number Diff line Loading @@ -168,15 +168,39 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) # So... funny story. Recall when I mentioned above the # "JB MR2" thing? I didn't mean that. In fact, while I was # writing JB MR, my head was thinking 4.2, and things got # cross-wired as they are wont to do, and we ended up with # JB MR2, which didn't actually exist. # # Well, didn't exist then. # # Now it does. Say hi, JB MR2! # And on to KLP... $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) # KLP now based off API 18. $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) # Clean up around the /system/app -> /system/priv-app migration $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) # Clean up old location of generated Java files from aidl $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src) # Clean up ApplicationsProvider which is being removed. $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/ApplicationsProvider_intermediates) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/ApplicationsProvider.apk) # Clean up Moto OMA DM client which isn't ready yet. $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.plugin.dev_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.plugin.diagmon_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.pluginhelper_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.plugin_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.service.api_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/DMService_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/SprintDM_intermediates) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/DMService.apk) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/SprintDM.apk) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/omadm) # KLP I mean KitKat now API 19. $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) Loading buildspec.mk.default +9 −9 Original line number Diff line number Diff line Loading @@ -93,15 +93,15 @@ ifndef NO_FALLBACK_FONT #NO_FALLBACK_FONT:=true endif # To enable instrumentation in webcore based apps like gmail and # the browser, define WEBCORE_INSTRUMENTATION:=true ifndef WEBCORE_INSTRUMENTATION #WEBCORE_INSTRUMENTATION:=true endif # To disable SVG in webcore define ENABLE_SVG:=false ifndef ENABLE_SVG #ENABLE_SVG:=false # OVERRIDE_RUNTIMES allows you to locally override PRODUCT_RUNTIMES. # # To only build ART, use "runtime_libart_default" # To use Dalvik but also include ART, use "runtime_libdvm_default runtime_libart" # To use ART but also include Dalvik, use "runtime_libart_default runtime_libdvm" ifndef OVERRIDE_RUNTIMES #OVERRIDE_RUNTIMES:=runtime_libart_default #OVERRIDE_RUNTIMES:=runtime_libdvm_default runtime_libart #OVERRIDE_RUNTIMES:=runtime_libart_default runtime_libdvm endif # when the build system changes such that this file must be updated, this Loading core/Makefile +60 −9 Original line number Diff line number Diff line Loading @@ -96,10 +96,11 @@ endif # Both of these tags will be removed and replaced with "release-keys" # when the target-files is signed in a post-build step. ifeq ($(DEFAULT_SYSTEM_DEV_CERTIFICATE),build/target/product/security/testkey) BUILD_VERSION_TAGS += test-keys BUILD_KEYS := test-keys else BUILD_VERSION_TAGS += dev-keys BUILD_KEYS := dev-keys endif BUILD_VERSION_TAGS += $(BUILD_KEYS) BUILD_VERSION_TAGS := $(subst $(space),$(comma),$(sort $(BUILD_VERSION_TAGS))) # A human-readable string that descibes this build in detail. Loading @@ -121,9 +122,9 @@ ifeq ($(TARGET_BUILD_VARIANT),user) # Dev. branches should have DISPLAY_BUILD_NUMBER set ifeq "true" "$(DISPLAY_BUILD_NUMBER)" BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER) BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER) $(BUILD_KEYS) else BUILD_DISPLAY_ID := $(BUILD_ID) BUILD_DISPLAY_ID := $(BUILD_ID) $(BUILD_KEYS) endif else # Non-user builds should show detailed build information Loading Loading @@ -384,6 +385,10 @@ $(INSTALLED_RAMDISK_TARGET): $(MKBOOTFS) $(INTERNAL_RAMDISK_FILES) | $(MINIGZIP) $(call pretty,"Target ram disk: $@") $(hide) $(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $@ .PHONY: ramdisk-nodeps ramdisk-nodeps: $(MKBOOTFS) | $(MINIGZIP) @echo "make $@: ignoring dependencies" $(hide) $(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $(INSTALLED_RAMDISK_TARGET) ifneq ($(strip $(TARGET_NO_KERNEL)),true) Loading Loading @@ -421,12 +426,24 @@ $(INSTALLED_BOOTIMAGE_TARGET): $(MKEXT2IMG) $(INTERNAL_BOOTIMAGE_FILES) $(call pretty,"Target boot image: $@") $(hide) $(MKEXT2BOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) --output $@ .PHONY: bootimage-nodeps bootimage-nodeps: $(MKEXT2IMG) @echo "make $@: ignoring dependencies" $(hide) $(MKEXT2BOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) --output $(INSTALLED_BOOTIMAGE_TARGET) else # TARGET_BOOTIMAGE_USE_EXT2 != true $(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(call pretty,"Target boot image: $@") $(hide) $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $@ $(hide) $(call assert-max-image-size,$@,$(BOARD_BOOTIMAGE_PARTITION_SIZE),raw) .PHONY: bootimage-nodeps bootimage-nodeps: $(MKBOOTIMG) @echo "make $@: ignoring dependencies" $(hide) $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $(INSTALLED_BOOTIMAGE_TARGET) $(hide) $(call assert-max-image-size,$(INSTALLED_BOOTIMAGE_TARGET),$(BOARD_BOOTIMAGE_PARTITION_SIZE),raw) endif # TARGET_BOOTIMAGE_USE_EXT2 else # TARGET_NO_KERNEL Loading Loading @@ -490,6 +507,7 @@ target_notice_file_html_gz := $(TARGET_OUT_INTERMEDIATES)/NOTICE.html.gz tools_notice_file_txt := $(HOST_OUT_INTERMEDIATES)/NOTICE.txt tools_notice_file_html := $(HOST_OUT_INTERMEDIATES)/NOTICE.html ifndef TARGET_BUILD_APPS kernel_notice_file := $(TARGET_OUT_NOTICE_FILES)/src/kernel.txt pdk_fusion_notice_files := $(filter $(TARGET_OUT_NOTICE_FILES)/%, $(ALL_PDK_FUSION_FILES)) Loading Loading @@ -522,6 +540,7 @@ $(installed_notice_html_gz): $(target_notice_file_html_gz) | $(ACP) ifeq ($(ONE_SHOT_MAKEFILE),) ALL_DEFAULT_INSTALLED_MODULES += $(installed_notice_html_gz) endif endif # TARGET_BUILD_APPS # The kernel isn't really a module, so to get its module file in there, we # make the target NOTICE files depend on this particular file too, which will Loading Loading @@ -875,6 +894,11 @@ endif ####### ## platform.zip: system, plus other files to be used in PDK fusion build, ## in a zip file ## ## PDK_PLATFORM_ZIP_PRODUCT_BINARIES is used to store specified files to platform.zip. ## The variable will be typically set from BoardConfig.mk. ## Files under out dir will be rejected to prevent possible conflicts with other rules. PDK_PLATFORM_ZIP_PRODUCT_BINARIES := $(filter-out $(OUT_DIR)/%,$(PDK_PLATFORM_ZIP_PRODUCT_BINARIES)) INSTALLED_PLATFORM_ZIP := $(PRODUCT_OUT)/platform.zip $(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_SYSTEMIMAGE_FILES) $(call pretty,"Platform zip package: $(INSTALLED_PLATFORM_ZIP)") Loading @@ -886,7 +910,9 @@ $(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_SYSTEMIMAGE_FILES) ifeq (true,$(PLATFORM_ZIP_ADD_JAVA)) $(hide) cd $(OUT_DIR) && zip -qry $(patsubst $(OUT_DIR)/%,%,$@) $(PDK_PLATFORM_JAVA_ZIP_CONTENTS) endif ifneq ($(PDK_PLATFORM_ZIP_PRODUCT_BINARIES),) $(hide) zip -qry $@ $(PDK_PLATFORM_ZIP_PRODUCT_BINARIES) endif .PHONY: platform platform: $(INSTALLED_PLATFORM_ZIP) Loading Loading @@ -1147,6 +1173,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \ $(INSTALLED_CACHEIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ $(INSTALLED_ANDROID_INFO_TXT_TARGET) \ $(SELINUX_FC) \ $(built_ota_tools) \ $(APKCERTS_FILE) \ $(HOST_OUT_EXECUTABLES)/fs_config \ Loading Loading @@ -1234,13 +1261,14 @@ ifdef PRODUCT_EXTRA_RECOVERY_KEYS $(hide) echo "extra_recovery_keys=$(PRODUCT_EXTRA_RECOVERY_KEYS)" >> $(zip_root)/META/misc_info.txt endif $(hide) echo 'mkbootimg_args=$(BOARD_MKBOOTIMG_ARGS)' >> $(zip_root)/META/misc_info.txt $(hide) echo "use_set_metadata=1" >> $(zip_root)/META/misc_info.txt $(call generate-userimage-prop-dictionary, $(zip_root)/META/misc_info.txt) @# Zip everything up, preserving symlinks $(hide) (cd $(zip_root) && zip -qry ../$(notdir $@) .) @# Run fs_config on all the system, boot ramdisk, and recovery ramdisk files in the zip, and save the output $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="SYSTEM/" } /^SYSTEM\// {print "system/" $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config > $(zip_root)/META/filesystem_config.txt $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="BOOT/RAMDISK/" } /^BOOT\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config > $(zip_root)/META/boot_filesystem_config.txt $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="RECOVERY/RAMDISK/" } /^RECOVERY\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config > $(zip_root)/META/recovery_filesystem_config.txt $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="SYSTEM/" } /^SYSTEM\// {print "system/" $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -S $(SELINUX_FC) > $(zip_root)/META/filesystem_config.txt $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="BOOT/RAMDISK/" } /^BOOT\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -S $(SELINUX_FC) > $(zip_root)/META/boot_filesystem_config.txt $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="RECOVERY/RAMDISK/" } /^RECOVERY\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -S $(SELINUX_FC) > $(zip_root)/META/recovery_filesystem_config.txt $(hide) (cd $(zip_root) && zip -q ../$(notdir $@) META/*filesystem_config.txt) .PHONY: target-files-package Loading Loading @@ -1398,6 +1426,27 @@ $(EMMA_META_ZIP) : endif # EMMA_INSTRUMENT=true #------------------------------------------------------------------ # A zip of Proguard obfuscation dictionary files. # Only for apps_only build. # ifdef TARGET_BUILD_APPS PROGUARD_DICT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-$(FILE_NAME_TAG).zip # the dependency will be set up later in build/core/main.mk. $(PROGUARD_DICT_ZIP) : @echo "Packaging Proguard obfuscation dictionary files." $(hide) dict_files=`find $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS -name proguard_dictionary`; \ if [ -n "$$dict_files" ]; then \ zip -q $@ $$dict_files; \ else \ touch $(dir $@)/dummy; \ (cd $(dir $@) && zip -q $(notdir $@) dummy); \ zip -qd $@ dummy; \ rm $(dir $@)/dummy; \ fi endif # TARGET_BUILD_APPS # ----------------------------------------------------------------- # dalvik something .PHONY: dalvikfiles Loading Loading @@ -1594,9 +1643,11 @@ $(INTERNAL_FINDBUGS_HTML_TARGET): $(INTERNAL_FINDBUGS_XML_TARGET) # ----------------------------------------------------------------- # These are some additional build tasks that need to be run. ifneq ($(dont_bother),true) include $(sort $(wildcard $(BUILD_SYSTEM)/tasks/*.mk)) -include $(sort $(wildcard vendor/*/build/tasks/*.mk)) -include $(sort $(wildcard device/*/build/tasks/*.mk)) endif # ----------------------------------------------------------------- # Create SDK repository packages. Must be done after tasks/* since Loading core/base_rules.mk +48 −44 Original line number Diff line number Diff line Loading @@ -98,6 +98,8 @@ ifneq ($(words $(LOCAL_MODULE_CLASS)),1) endif ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE)) LOCAL_MODULE_PATH := $(strip $(LOCAL_MODULE_PATH)) ifeq ($(LOCAL_MODULE_PATH),) ifdef LOCAL_IS_HOST_MODULE partition_tag := else Loading @@ -109,12 +111,14 @@ else partition_tag := $(if $(call should-install-to-system,$(LOCAL_MODULE_TAGS)),,_DATA) endif endif install_path_var := $(my_prefix)OUT$(partition_tag)_$(LOCAL_MODULE_CLASS) ifeq (true,$(LOCAL_PRIVILEGED_MODULE)) install_path_var := $(install_path_var)_PRIVILEGED endif LOCAL_MODULE_PATH := $(strip $(LOCAL_MODULE_PATH)) ifeq ($(LOCAL_MODULE_PATH),) LOCAL_MODULE_PATH := $($(my_prefix)OUT$(partition_tag)_$(LOCAL_MODULE_CLASS)) LOCAL_MODULE_PATH := $($(install_path_var)) ifeq ($(strip $(LOCAL_MODULE_PATH)),) $(error $(LOCAL_PATH): unhandled LOCAL_MODULE_CLASS "$(LOCAL_MODULE_CLASS)") $(error $(LOCAL_PATH): unhandled install path "$(install_path_var)") endif endif endif # not LOCAL_UNINSTALLABLE_MODULE Loading @@ -137,15 +141,16 @@ intermediates.COMMON := $(call local-intermediates-dir,COMMON) ########################################################### # Pick a name for the intermediate and final targets ########################################################### LOCAL_MODULE_STEM := $(strip $(LOCAL_MODULE_STEM)) ifeq ($(LOCAL_MODULE_STEM),) ifndef LOCAL_MODULE_STEM LOCAL_MODULE_STEM := $(LOCAL_MODULE) endif LOCAL_INSTALLED_MODULE_STEM := $(LOCAL_MODULE_STEM)$(LOCAL_MODULE_SUFFIX) LOCAL_BUILT_MODULE_STEM := $(strip $(LOCAL_BUILT_MODULE_STEM)) ifeq ($(LOCAL_BUILT_MODULE_STEM),) LOCAL_BUILT_MODULE_STEM := $(LOCAL_INSTALLED_MODULE_STEM) ifndef LOCAL_BUILT_MODULE_STEM LOCAL_BUILT_MODULE_STEM := $(LOCAL_MODULE_STEM)$(LOCAL_MODULE_SUFFIX) endif ifndef LOCAL_INSTALLED_MODULE_STEM LOCAL_INSTALLED_MODULE_STEM := $(LOCAL_MODULE_STEM)$(LOCAL_MODULE_SUFFIX) endif # OVERRIDE_BUILT_MODULE_PATH is only allowed to be used by the Loading Loading @@ -181,9 +186,6 @@ ifneq ($(strip $(aidl_sources)),) aidl_java_sources := $(patsubst %.aidl,%.java,$(addprefix $(intermediates.COMMON)/src/, $(aidl_sources))) aidl_sources := $(addprefix $(TOP_DIR)$(LOCAL_PATH)/, $(aidl_sources)) ifeq (,$(TARGET_BUILD_APPS)) LOCAL_AIDL_INCLUDES += $(FRAMEWORKS_BASE_JAVA_SRC_DIRS) endif aidl_preprocess_import := LOCAL_SDK_VERSION:=$(strip $(LOCAL_SDK_VERSION)) ifdef LOCAL_SDK_VERSION Loading @@ -193,6 +195,9 @@ ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),current) else aidl_preprocess_import := $(HISTORICAL_SDK_VERSIONS_ROOT)/$(LOCAL_SDK_VERSION)/framework.aidl endif # !current 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)) Loading Loading @@ -349,8 +354,11 @@ else endif # java_resource_file_groups ## PRIVATE java vars ###################################### ifneq ($(strip $(all_java_sources)$(all_res_assets))$(LOCAL_STATIC_JAVA_LIBRARIES),) # LOCAL_SOURCE_FILES_ALL_GENERATED is set only if the module does not have static source files, # but generated source files in its LOCAL_INTERMEDIATE_SOURCE_DIR. # You have to set up the dependency in some other way. need_compile_java := $(strip $(all_java_sources)$(all_res_assets))$(LOCAL_STATIC_JAVA_LIBRARIES)$(filter true,$(LOCAL_SOURCE_FILES_ALL_GENERATED)) ifdef need_compile_java full_static_java_libs := \ $(foreach lib,$(LOCAL_STATIC_JAVA_LIBRARIES), \ Loading Loading @@ -388,19 +396,20 @@ ifdef LOCAL_IS_HOST_MODULE ifeq ($(LOCAL_BUILD_HOST_DEX),true) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_BOOTCLASSPATH := -bootclasspath $(call java-lib-files,core-hostdex,$(LOCAL_IS_HOST_MODULE)) full_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) full_shared_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) full_java_lib_deps := $(call java-lib-deps,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) else $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_BOOTCLASSPATH := full_java_libs := $(addprefix $(HOST_OUT_JAVA_LIBRARIES)/,$(addsuffix $(COMMON_JAVA_PACKAGE_SUFFIX),$(LOCAL_JAVA_LIBRARIES))) full_java_lib_deps := $(full_java_libs) full_shared_java_libs := $(addprefix $(HOST_OUT_JAVA_LIBRARIES)/,\ $(addsuffix $(COMMON_JAVA_PACKAGE_SUFFIX),$(LOCAL_JAVA_LIBRARIES))) full_java_lib_deps := $(full_shared_java_libs) endif # LOCAL_BUILD_HOST_DEX else full_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) full_shared_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) full_java_lib_deps := $(call java-lib-deps,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) endif # !LOCAL_IS_HOST_MODULE full_java_libs += $(full_static_java_libs) $(LOCAL_CLASSPATH) full_java_libs := $(full_shared_java_libs) $(full_static_java_libs) $(LOCAL_CLASSPATH) full_java_lib_deps += $(full_static_java_libs) $(LOCAL_CLASSPATH) # This is set by packages that are linking to other packages that export Loading @@ -413,6 +422,7 @@ ifdef LOCAL_APK_LIBRARIES APPS,$(lib),,COMMON)/classes.jar) # link against the jar with full original names (before proguard processing). full_shared_java_libs += $(link_apk_libraries) full_java_libs += $(link_apk_libraries) full_java_lib_deps += $(link_apk_libraries) endif Loading @@ -427,14 +437,12 @@ ifdef LOCAL_INSTRUMENTATION_FOR $(LOCAL_PATH): Multiple LOCAL_INSTRUMENTATION_FOR members defined) endif link_instr_intermediates_dir := $(call intermediates-dir-for, \ APPS,$(LOCAL_INSTRUMENTATION_FOR)) link_instr_intermediates_dir.COMMON := $(call intermediates-dir-for, \ APPS,$(LOCAL_INSTRUMENTATION_FOR),,COMMON) # link against the jar with full original names (before proguard processing). full_java_libs += $(link_instr_intermediates_dir.COMMON)/classes.jar full_java_lib_deps += $(link_instr_intermediates_dir.COMMON)/classes.jar link_instr_classes_jar := $(link_instr_intermediates_dir.COMMON)/classes.jar full_java_libs += $(link_instr_classes_jar) full_java_lib_deps += $(link_instr_classes_jar) endif jar_manifest_file := Loading @@ -445,7 +453,7 @@ else $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JAR_MANIFEST := endif endif endif # need_compile_java ########################################################### Loading Loading @@ -543,20 +551,16 @@ endif # !LOCAL_UNINSTALLABLE_MODULE ## CHECK_BUILD goals ########################################################### ifdef java_alternative_checked_module LOCAL_CHECKED_MODULE := $(java_alternative_checked_module) endif # If nobody has defined a more specific module for the # checked modules, use LOCAL_BUILT_MODULE. ifndef LOCAL_CHECKED_MODULE LOCAL_CHECKED_MODULE := $(LOCAL_BUILT_MODULE) endif need_compile_java := ifdef java_alternative_checked_module ifneq (,$(strip $(all_java_sources)$(full_static_java_libs))$(filter true,$(LOCAL_SOURCE_FILES_ALL_GENERATED))) need_compile_java := true LOCAL_CHECKED_MODULE := $(java_alternative_checked_module) endif endif # If they request that this module not be checked, then don't. # PLEASE DON'T SET THIS. ANY PLACES THAT SET THIS WITHOUT # GOOD REASON WILL HAVE IT REMOVED. Loading core/binary.mk +23 −14 Original line number Diff line number Diff line Loading @@ -90,6 +90,15 @@ $(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += $(LOCAL_MODULE):$(LOCAL_INSTALLE endif endif # Add static HAL libraries ifdef LOCAL_HAL_STATIC_LIBRARIES $(foreach lib, $(LOCAL_HAL_STATIC_LIBRARIES), \ $(eval b_lib := $(filter $(lib).%,$(BOARD_HAL_STATIC_LIBRARIES)))\ $(if $(b_lib), $(eval LOCAL_STATIC_LIBRARIES += $(b_lib)),\ $(eval LOCAL_STATIC_LIBRARIES += $(lib).default))) b_lib := endif ifeq ($(strip $(LOCAL_ADDRESS_SANITIZER)),true) LOCAL_CLANG := true LOCAL_CFLAGS += $(ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS) Loading Loading @@ -147,21 +156,17 @@ LOCAL_ASFLAGS += -D__ASSEMBLY__ ifdef LOCAL_SDK_VERSION my_target_project_includes := my_target_c_includes := $(my_ndk_stl_include_path) $(my_ndk_version_root)/usr/include # filter out including of AndroidConfig.h in system/core. TARGET_GLOBAL_CFLAGS_NO_ANDCONF ?= $(subst $(TARGET_ANDROID_CONFIG_CFLAGS),,\ $(TARGET_GLOBAL_CFLAGS)) my_target_global_cflags := $(TARGET_GLOBAL_CFLAGS_NO_ANDCONF) else my_target_project_includes := $(TARGET_PROJECT_INCLUDES) my_target_c_includes := $(TARGET_C_INCLUDES) ifeq ($(strip $(LOCAL_CLANG)),true) my_target_c_includes += $(CLANG_CONFIG_EXTRA_TARGET_C_INCLUDES) endif # LOCAL_SDK_VERSION ifeq ($(LOCAL_CLANG),true) my_target_global_cflags := $(TARGET_GLOBAL_CLANG_FLAGS) my_target_c_includes += $(CLANG_CONFIG_EXTRA_TARGET_C_INCLUDES) else my_target_global_cflags := $(TARGET_GLOBAL_CFLAGS) endif # LOCAL_CLANG endif # LOCAL_SDK_VERSION $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_PROJECT_INCLUDES := $(my_target_project_includes) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_C_INCLUDES := $(my_target_c_includes) Loading Loading @@ -627,7 +632,7 @@ endif # some rules depend on asm_objects being first. If your code depends on # being first, it's reasonable to require it to be assembly all_objects := \ normal_objects := \ $(asm_objects) \ $(cpp_objects) \ $(gen_cpp_objects) \ Loading @@ -638,8 +643,9 @@ all_objects := \ $(yacc_objects) \ $(lex_objects) \ $(proto_generated_objects) \ $(addprefix $(TOPDIR)$(LOCAL_PATH)/,$(LOCAL_PREBUILT_OBJ_FILES)) \ $(gen_o_objects) $(addprefix $(TOPDIR)$(LOCAL_PATH)/,$(LOCAL_PREBUILT_OBJ_FILES)) all_objects := $(normal_objects) $(gen_o_objects) LOCAL_C_INCLUDES += $(TOPDIR)$(LOCAL_PATH) $(intermediates) Loading @@ -647,9 +653,12 @@ ifndef LOCAL_SDK_VERSION LOCAL_C_INCLUDES += $(JNI_H_INCLUDE) endif # .o files need to be filtered out of LOCAL_GENERATED_SOURCES # to avoid creating circular dependencies. $(all_objects) : | $(filter-out %.o,$(LOCAL_GENERATED_SOURCES)) $(import_includes) # all_objects includes gen_o_objects which were part of LOCAL_GENERATED_SOURCES; # use normal_objects here to avoid creating circular dependencies. This assumes # that custom build rules which generate .o files don't consume other generated # sources as input (or if they do they take care of that dependency themselves). $(normal_objects) : | $(LOCAL_GENERATED_SOURCES) $(all_objects) : | $(import_includes) ALL_C_CPP_ETC_OBJECTS += $(all_objects) ########################################################### Loading Loading
CleanSpec.mk +33 −9 Original line number Diff line number Diff line Loading @@ -168,15 +168,39 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) # So... funny story. Recall when I mentioned above the # "JB MR2" thing? I didn't mean that. In fact, while I was # writing JB MR, my head was thinking 4.2, and things got # cross-wired as they are wont to do, and we ended up with # JB MR2, which didn't actually exist. # # Well, didn't exist then. # # Now it does. Say hi, JB MR2! # And on to KLP... $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) # KLP now based off API 18. $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) # Clean up around the /system/app -> /system/priv-app migration $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) # Clean up old location of generated Java files from aidl $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src) # Clean up ApplicationsProvider which is being removed. $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/ApplicationsProvider_intermediates) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/ApplicationsProvider.apk) # Clean up Moto OMA DM client which isn't ready yet. $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.plugin.dev_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.plugin.diagmon_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.pluginhelper_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.plugin_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.service.api_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/DMService_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/SprintDM_intermediates) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/DMService.apk) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/SprintDM.apk) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/omadm) # KLP I mean KitKat now API 19. $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) Loading
buildspec.mk.default +9 −9 Original line number Diff line number Diff line Loading @@ -93,15 +93,15 @@ ifndef NO_FALLBACK_FONT #NO_FALLBACK_FONT:=true endif # To enable instrumentation in webcore based apps like gmail and # the browser, define WEBCORE_INSTRUMENTATION:=true ifndef WEBCORE_INSTRUMENTATION #WEBCORE_INSTRUMENTATION:=true endif # To disable SVG in webcore define ENABLE_SVG:=false ifndef ENABLE_SVG #ENABLE_SVG:=false # OVERRIDE_RUNTIMES allows you to locally override PRODUCT_RUNTIMES. # # To only build ART, use "runtime_libart_default" # To use Dalvik but also include ART, use "runtime_libdvm_default runtime_libart" # To use ART but also include Dalvik, use "runtime_libart_default runtime_libdvm" ifndef OVERRIDE_RUNTIMES #OVERRIDE_RUNTIMES:=runtime_libart_default #OVERRIDE_RUNTIMES:=runtime_libdvm_default runtime_libart #OVERRIDE_RUNTIMES:=runtime_libart_default runtime_libdvm endif # when the build system changes such that this file must be updated, this Loading
core/Makefile +60 −9 Original line number Diff line number Diff line Loading @@ -96,10 +96,11 @@ endif # Both of these tags will be removed and replaced with "release-keys" # when the target-files is signed in a post-build step. ifeq ($(DEFAULT_SYSTEM_DEV_CERTIFICATE),build/target/product/security/testkey) BUILD_VERSION_TAGS += test-keys BUILD_KEYS := test-keys else BUILD_VERSION_TAGS += dev-keys BUILD_KEYS := dev-keys endif BUILD_VERSION_TAGS += $(BUILD_KEYS) BUILD_VERSION_TAGS := $(subst $(space),$(comma),$(sort $(BUILD_VERSION_TAGS))) # A human-readable string that descibes this build in detail. Loading @@ -121,9 +122,9 @@ ifeq ($(TARGET_BUILD_VARIANT),user) # Dev. branches should have DISPLAY_BUILD_NUMBER set ifeq "true" "$(DISPLAY_BUILD_NUMBER)" BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER) BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER) $(BUILD_KEYS) else BUILD_DISPLAY_ID := $(BUILD_ID) BUILD_DISPLAY_ID := $(BUILD_ID) $(BUILD_KEYS) endif else # Non-user builds should show detailed build information Loading Loading @@ -384,6 +385,10 @@ $(INSTALLED_RAMDISK_TARGET): $(MKBOOTFS) $(INTERNAL_RAMDISK_FILES) | $(MINIGZIP) $(call pretty,"Target ram disk: $@") $(hide) $(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $@ .PHONY: ramdisk-nodeps ramdisk-nodeps: $(MKBOOTFS) | $(MINIGZIP) @echo "make $@: ignoring dependencies" $(hide) $(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $(INSTALLED_RAMDISK_TARGET) ifneq ($(strip $(TARGET_NO_KERNEL)),true) Loading Loading @@ -421,12 +426,24 @@ $(INSTALLED_BOOTIMAGE_TARGET): $(MKEXT2IMG) $(INTERNAL_BOOTIMAGE_FILES) $(call pretty,"Target boot image: $@") $(hide) $(MKEXT2BOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) --output $@ .PHONY: bootimage-nodeps bootimage-nodeps: $(MKEXT2IMG) @echo "make $@: ignoring dependencies" $(hide) $(MKEXT2BOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) --output $(INSTALLED_BOOTIMAGE_TARGET) else # TARGET_BOOTIMAGE_USE_EXT2 != true $(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(call pretty,"Target boot image: $@") $(hide) $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $@ $(hide) $(call assert-max-image-size,$@,$(BOARD_BOOTIMAGE_PARTITION_SIZE),raw) .PHONY: bootimage-nodeps bootimage-nodeps: $(MKBOOTIMG) @echo "make $@: ignoring dependencies" $(hide) $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $(INSTALLED_BOOTIMAGE_TARGET) $(hide) $(call assert-max-image-size,$(INSTALLED_BOOTIMAGE_TARGET),$(BOARD_BOOTIMAGE_PARTITION_SIZE),raw) endif # TARGET_BOOTIMAGE_USE_EXT2 else # TARGET_NO_KERNEL Loading Loading @@ -490,6 +507,7 @@ target_notice_file_html_gz := $(TARGET_OUT_INTERMEDIATES)/NOTICE.html.gz tools_notice_file_txt := $(HOST_OUT_INTERMEDIATES)/NOTICE.txt tools_notice_file_html := $(HOST_OUT_INTERMEDIATES)/NOTICE.html ifndef TARGET_BUILD_APPS kernel_notice_file := $(TARGET_OUT_NOTICE_FILES)/src/kernel.txt pdk_fusion_notice_files := $(filter $(TARGET_OUT_NOTICE_FILES)/%, $(ALL_PDK_FUSION_FILES)) Loading Loading @@ -522,6 +540,7 @@ $(installed_notice_html_gz): $(target_notice_file_html_gz) | $(ACP) ifeq ($(ONE_SHOT_MAKEFILE),) ALL_DEFAULT_INSTALLED_MODULES += $(installed_notice_html_gz) endif endif # TARGET_BUILD_APPS # The kernel isn't really a module, so to get its module file in there, we # make the target NOTICE files depend on this particular file too, which will Loading Loading @@ -875,6 +894,11 @@ endif ####### ## platform.zip: system, plus other files to be used in PDK fusion build, ## in a zip file ## ## PDK_PLATFORM_ZIP_PRODUCT_BINARIES is used to store specified files to platform.zip. ## The variable will be typically set from BoardConfig.mk. ## Files under out dir will be rejected to prevent possible conflicts with other rules. PDK_PLATFORM_ZIP_PRODUCT_BINARIES := $(filter-out $(OUT_DIR)/%,$(PDK_PLATFORM_ZIP_PRODUCT_BINARIES)) INSTALLED_PLATFORM_ZIP := $(PRODUCT_OUT)/platform.zip $(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_SYSTEMIMAGE_FILES) $(call pretty,"Platform zip package: $(INSTALLED_PLATFORM_ZIP)") Loading @@ -886,7 +910,9 @@ $(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_SYSTEMIMAGE_FILES) ifeq (true,$(PLATFORM_ZIP_ADD_JAVA)) $(hide) cd $(OUT_DIR) && zip -qry $(patsubst $(OUT_DIR)/%,%,$@) $(PDK_PLATFORM_JAVA_ZIP_CONTENTS) endif ifneq ($(PDK_PLATFORM_ZIP_PRODUCT_BINARIES),) $(hide) zip -qry $@ $(PDK_PLATFORM_ZIP_PRODUCT_BINARIES) endif .PHONY: platform platform: $(INSTALLED_PLATFORM_ZIP) Loading Loading @@ -1147,6 +1173,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \ $(INSTALLED_CACHEIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ $(INSTALLED_ANDROID_INFO_TXT_TARGET) \ $(SELINUX_FC) \ $(built_ota_tools) \ $(APKCERTS_FILE) \ $(HOST_OUT_EXECUTABLES)/fs_config \ Loading Loading @@ -1234,13 +1261,14 @@ ifdef PRODUCT_EXTRA_RECOVERY_KEYS $(hide) echo "extra_recovery_keys=$(PRODUCT_EXTRA_RECOVERY_KEYS)" >> $(zip_root)/META/misc_info.txt endif $(hide) echo 'mkbootimg_args=$(BOARD_MKBOOTIMG_ARGS)' >> $(zip_root)/META/misc_info.txt $(hide) echo "use_set_metadata=1" >> $(zip_root)/META/misc_info.txt $(call generate-userimage-prop-dictionary, $(zip_root)/META/misc_info.txt) @# Zip everything up, preserving symlinks $(hide) (cd $(zip_root) && zip -qry ../$(notdir $@) .) @# Run fs_config on all the system, boot ramdisk, and recovery ramdisk files in the zip, and save the output $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="SYSTEM/" } /^SYSTEM\// {print "system/" $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config > $(zip_root)/META/filesystem_config.txt $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="BOOT/RAMDISK/" } /^BOOT\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config > $(zip_root)/META/boot_filesystem_config.txt $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="RECOVERY/RAMDISK/" } /^RECOVERY\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config > $(zip_root)/META/recovery_filesystem_config.txt $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="SYSTEM/" } /^SYSTEM\// {print "system/" $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -S $(SELINUX_FC) > $(zip_root)/META/filesystem_config.txt $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="BOOT/RAMDISK/" } /^BOOT\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -S $(SELINUX_FC) > $(zip_root)/META/boot_filesystem_config.txt $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="RECOVERY/RAMDISK/" } /^RECOVERY\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -S $(SELINUX_FC) > $(zip_root)/META/recovery_filesystem_config.txt $(hide) (cd $(zip_root) && zip -q ../$(notdir $@) META/*filesystem_config.txt) .PHONY: target-files-package Loading Loading @@ -1398,6 +1426,27 @@ $(EMMA_META_ZIP) : endif # EMMA_INSTRUMENT=true #------------------------------------------------------------------ # A zip of Proguard obfuscation dictionary files. # Only for apps_only build. # ifdef TARGET_BUILD_APPS PROGUARD_DICT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-$(FILE_NAME_TAG).zip # the dependency will be set up later in build/core/main.mk. $(PROGUARD_DICT_ZIP) : @echo "Packaging Proguard obfuscation dictionary files." $(hide) dict_files=`find $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS -name proguard_dictionary`; \ if [ -n "$$dict_files" ]; then \ zip -q $@ $$dict_files; \ else \ touch $(dir $@)/dummy; \ (cd $(dir $@) && zip -q $(notdir $@) dummy); \ zip -qd $@ dummy; \ rm $(dir $@)/dummy; \ fi endif # TARGET_BUILD_APPS # ----------------------------------------------------------------- # dalvik something .PHONY: dalvikfiles Loading Loading @@ -1594,9 +1643,11 @@ $(INTERNAL_FINDBUGS_HTML_TARGET): $(INTERNAL_FINDBUGS_XML_TARGET) # ----------------------------------------------------------------- # These are some additional build tasks that need to be run. ifneq ($(dont_bother),true) include $(sort $(wildcard $(BUILD_SYSTEM)/tasks/*.mk)) -include $(sort $(wildcard vendor/*/build/tasks/*.mk)) -include $(sort $(wildcard device/*/build/tasks/*.mk)) endif # ----------------------------------------------------------------- # Create SDK repository packages. Must be done after tasks/* since Loading
core/base_rules.mk +48 −44 Original line number Diff line number Diff line Loading @@ -98,6 +98,8 @@ ifneq ($(words $(LOCAL_MODULE_CLASS)),1) endif ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE)) LOCAL_MODULE_PATH := $(strip $(LOCAL_MODULE_PATH)) ifeq ($(LOCAL_MODULE_PATH),) ifdef LOCAL_IS_HOST_MODULE partition_tag := else Loading @@ -109,12 +111,14 @@ else partition_tag := $(if $(call should-install-to-system,$(LOCAL_MODULE_TAGS)),,_DATA) endif endif install_path_var := $(my_prefix)OUT$(partition_tag)_$(LOCAL_MODULE_CLASS) ifeq (true,$(LOCAL_PRIVILEGED_MODULE)) install_path_var := $(install_path_var)_PRIVILEGED endif LOCAL_MODULE_PATH := $(strip $(LOCAL_MODULE_PATH)) ifeq ($(LOCAL_MODULE_PATH),) LOCAL_MODULE_PATH := $($(my_prefix)OUT$(partition_tag)_$(LOCAL_MODULE_CLASS)) LOCAL_MODULE_PATH := $($(install_path_var)) ifeq ($(strip $(LOCAL_MODULE_PATH)),) $(error $(LOCAL_PATH): unhandled LOCAL_MODULE_CLASS "$(LOCAL_MODULE_CLASS)") $(error $(LOCAL_PATH): unhandled install path "$(install_path_var)") endif endif endif # not LOCAL_UNINSTALLABLE_MODULE Loading @@ -137,15 +141,16 @@ intermediates.COMMON := $(call local-intermediates-dir,COMMON) ########################################################### # Pick a name for the intermediate and final targets ########################################################### LOCAL_MODULE_STEM := $(strip $(LOCAL_MODULE_STEM)) ifeq ($(LOCAL_MODULE_STEM),) ifndef LOCAL_MODULE_STEM LOCAL_MODULE_STEM := $(LOCAL_MODULE) endif LOCAL_INSTALLED_MODULE_STEM := $(LOCAL_MODULE_STEM)$(LOCAL_MODULE_SUFFIX) LOCAL_BUILT_MODULE_STEM := $(strip $(LOCAL_BUILT_MODULE_STEM)) ifeq ($(LOCAL_BUILT_MODULE_STEM),) LOCAL_BUILT_MODULE_STEM := $(LOCAL_INSTALLED_MODULE_STEM) ifndef LOCAL_BUILT_MODULE_STEM LOCAL_BUILT_MODULE_STEM := $(LOCAL_MODULE_STEM)$(LOCAL_MODULE_SUFFIX) endif ifndef LOCAL_INSTALLED_MODULE_STEM LOCAL_INSTALLED_MODULE_STEM := $(LOCAL_MODULE_STEM)$(LOCAL_MODULE_SUFFIX) endif # OVERRIDE_BUILT_MODULE_PATH is only allowed to be used by the Loading Loading @@ -181,9 +186,6 @@ ifneq ($(strip $(aidl_sources)),) aidl_java_sources := $(patsubst %.aidl,%.java,$(addprefix $(intermediates.COMMON)/src/, $(aidl_sources))) aidl_sources := $(addprefix $(TOP_DIR)$(LOCAL_PATH)/, $(aidl_sources)) ifeq (,$(TARGET_BUILD_APPS)) LOCAL_AIDL_INCLUDES += $(FRAMEWORKS_BASE_JAVA_SRC_DIRS) endif aidl_preprocess_import := LOCAL_SDK_VERSION:=$(strip $(LOCAL_SDK_VERSION)) ifdef LOCAL_SDK_VERSION Loading @@ -193,6 +195,9 @@ ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),current) else aidl_preprocess_import := $(HISTORICAL_SDK_VERSIONS_ROOT)/$(LOCAL_SDK_VERSION)/framework.aidl endif # !current 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)) Loading Loading @@ -349,8 +354,11 @@ else endif # java_resource_file_groups ## PRIVATE java vars ###################################### ifneq ($(strip $(all_java_sources)$(all_res_assets))$(LOCAL_STATIC_JAVA_LIBRARIES),) # LOCAL_SOURCE_FILES_ALL_GENERATED is set only if the module does not have static source files, # but generated source files in its LOCAL_INTERMEDIATE_SOURCE_DIR. # You have to set up the dependency in some other way. need_compile_java := $(strip $(all_java_sources)$(all_res_assets))$(LOCAL_STATIC_JAVA_LIBRARIES)$(filter true,$(LOCAL_SOURCE_FILES_ALL_GENERATED)) ifdef need_compile_java full_static_java_libs := \ $(foreach lib,$(LOCAL_STATIC_JAVA_LIBRARIES), \ Loading Loading @@ -388,19 +396,20 @@ ifdef LOCAL_IS_HOST_MODULE ifeq ($(LOCAL_BUILD_HOST_DEX),true) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_BOOTCLASSPATH := -bootclasspath $(call java-lib-files,core-hostdex,$(LOCAL_IS_HOST_MODULE)) full_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) full_shared_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) full_java_lib_deps := $(call java-lib-deps,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) else $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_BOOTCLASSPATH := full_java_libs := $(addprefix $(HOST_OUT_JAVA_LIBRARIES)/,$(addsuffix $(COMMON_JAVA_PACKAGE_SUFFIX),$(LOCAL_JAVA_LIBRARIES))) full_java_lib_deps := $(full_java_libs) full_shared_java_libs := $(addprefix $(HOST_OUT_JAVA_LIBRARIES)/,\ $(addsuffix $(COMMON_JAVA_PACKAGE_SUFFIX),$(LOCAL_JAVA_LIBRARIES))) full_java_lib_deps := $(full_shared_java_libs) endif # LOCAL_BUILD_HOST_DEX else full_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) full_shared_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) full_java_lib_deps := $(call java-lib-deps,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) endif # !LOCAL_IS_HOST_MODULE full_java_libs += $(full_static_java_libs) $(LOCAL_CLASSPATH) full_java_libs := $(full_shared_java_libs) $(full_static_java_libs) $(LOCAL_CLASSPATH) full_java_lib_deps += $(full_static_java_libs) $(LOCAL_CLASSPATH) # This is set by packages that are linking to other packages that export Loading @@ -413,6 +422,7 @@ ifdef LOCAL_APK_LIBRARIES APPS,$(lib),,COMMON)/classes.jar) # link against the jar with full original names (before proguard processing). full_shared_java_libs += $(link_apk_libraries) full_java_libs += $(link_apk_libraries) full_java_lib_deps += $(link_apk_libraries) endif Loading @@ -427,14 +437,12 @@ ifdef LOCAL_INSTRUMENTATION_FOR $(LOCAL_PATH): Multiple LOCAL_INSTRUMENTATION_FOR members defined) endif link_instr_intermediates_dir := $(call intermediates-dir-for, \ APPS,$(LOCAL_INSTRUMENTATION_FOR)) link_instr_intermediates_dir.COMMON := $(call intermediates-dir-for, \ APPS,$(LOCAL_INSTRUMENTATION_FOR),,COMMON) # link against the jar with full original names (before proguard processing). full_java_libs += $(link_instr_intermediates_dir.COMMON)/classes.jar full_java_lib_deps += $(link_instr_intermediates_dir.COMMON)/classes.jar link_instr_classes_jar := $(link_instr_intermediates_dir.COMMON)/classes.jar full_java_libs += $(link_instr_classes_jar) full_java_lib_deps += $(link_instr_classes_jar) endif jar_manifest_file := Loading @@ -445,7 +453,7 @@ else $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JAR_MANIFEST := endif endif endif # need_compile_java ########################################################### Loading Loading @@ -543,20 +551,16 @@ endif # !LOCAL_UNINSTALLABLE_MODULE ## CHECK_BUILD goals ########################################################### ifdef java_alternative_checked_module LOCAL_CHECKED_MODULE := $(java_alternative_checked_module) endif # If nobody has defined a more specific module for the # checked modules, use LOCAL_BUILT_MODULE. ifndef LOCAL_CHECKED_MODULE LOCAL_CHECKED_MODULE := $(LOCAL_BUILT_MODULE) endif need_compile_java := ifdef java_alternative_checked_module ifneq (,$(strip $(all_java_sources)$(full_static_java_libs))$(filter true,$(LOCAL_SOURCE_FILES_ALL_GENERATED))) need_compile_java := true LOCAL_CHECKED_MODULE := $(java_alternative_checked_module) endif endif # If they request that this module not be checked, then don't. # PLEASE DON'T SET THIS. ANY PLACES THAT SET THIS WITHOUT # GOOD REASON WILL HAVE IT REMOVED. Loading
core/binary.mk +23 −14 Original line number Diff line number Diff line Loading @@ -90,6 +90,15 @@ $(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += $(LOCAL_MODULE):$(LOCAL_INSTALLE endif endif # Add static HAL libraries ifdef LOCAL_HAL_STATIC_LIBRARIES $(foreach lib, $(LOCAL_HAL_STATIC_LIBRARIES), \ $(eval b_lib := $(filter $(lib).%,$(BOARD_HAL_STATIC_LIBRARIES)))\ $(if $(b_lib), $(eval LOCAL_STATIC_LIBRARIES += $(b_lib)),\ $(eval LOCAL_STATIC_LIBRARIES += $(lib).default))) b_lib := endif ifeq ($(strip $(LOCAL_ADDRESS_SANITIZER)),true) LOCAL_CLANG := true LOCAL_CFLAGS += $(ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS) Loading Loading @@ -147,21 +156,17 @@ LOCAL_ASFLAGS += -D__ASSEMBLY__ ifdef LOCAL_SDK_VERSION my_target_project_includes := my_target_c_includes := $(my_ndk_stl_include_path) $(my_ndk_version_root)/usr/include # filter out including of AndroidConfig.h in system/core. TARGET_GLOBAL_CFLAGS_NO_ANDCONF ?= $(subst $(TARGET_ANDROID_CONFIG_CFLAGS),,\ $(TARGET_GLOBAL_CFLAGS)) my_target_global_cflags := $(TARGET_GLOBAL_CFLAGS_NO_ANDCONF) else my_target_project_includes := $(TARGET_PROJECT_INCLUDES) my_target_c_includes := $(TARGET_C_INCLUDES) ifeq ($(strip $(LOCAL_CLANG)),true) my_target_c_includes += $(CLANG_CONFIG_EXTRA_TARGET_C_INCLUDES) endif # LOCAL_SDK_VERSION ifeq ($(LOCAL_CLANG),true) my_target_global_cflags := $(TARGET_GLOBAL_CLANG_FLAGS) my_target_c_includes += $(CLANG_CONFIG_EXTRA_TARGET_C_INCLUDES) else my_target_global_cflags := $(TARGET_GLOBAL_CFLAGS) endif # LOCAL_CLANG endif # LOCAL_SDK_VERSION $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_PROJECT_INCLUDES := $(my_target_project_includes) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_C_INCLUDES := $(my_target_c_includes) Loading Loading @@ -627,7 +632,7 @@ endif # some rules depend on asm_objects being first. If your code depends on # being first, it's reasonable to require it to be assembly all_objects := \ normal_objects := \ $(asm_objects) \ $(cpp_objects) \ $(gen_cpp_objects) \ Loading @@ -638,8 +643,9 @@ all_objects := \ $(yacc_objects) \ $(lex_objects) \ $(proto_generated_objects) \ $(addprefix $(TOPDIR)$(LOCAL_PATH)/,$(LOCAL_PREBUILT_OBJ_FILES)) \ $(gen_o_objects) $(addprefix $(TOPDIR)$(LOCAL_PATH)/,$(LOCAL_PREBUILT_OBJ_FILES)) all_objects := $(normal_objects) $(gen_o_objects) LOCAL_C_INCLUDES += $(TOPDIR)$(LOCAL_PATH) $(intermediates) Loading @@ -647,9 +653,12 @@ ifndef LOCAL_SDK_VERSION LOCAL_C_INCLUDES += $(JNI_H_INCLUDE) endif # .o files need to be filtered out of LOCAL_GENERATED_SOURCES # to avoid creating circular dependencies. $(all_objects) : | $(filter-out %.o,$(LOCAL_GENERATED_SOURCES)) $(import_includes) # all_objects includes gen_o_objects which were part of LOCAL_GENERATED_SOURCES; # use normal_objects here to avoid creating circular dependencies. This assumes # that custom build rules which generate .o files don't consume other generated # sources as input (or if they do they take care of that dependency themselves). $(normal_objects) : | $(LOCAL_GENERATED_SOURCES) $(all_objects) : | $(import_includes) ALL_C_CPP_ETC_OBJECTS += $(all_objects) ########################################################### Loading