diff --git a/core/Makefile b/core/Makefile index 875162a2e3..dabb86da22 100644 --- a/core/Makefile +++ b/core/Makefile @@ -42,11 +42,14 @@ $(foreach cf,$(unique_product_copy_files_pairs), \ $(eval unique_product_copy_files_destinations += $(_dest)))) # Dump a list of overriden (and ignored PRODUCT_COPY_FILES entries) -$(file >$(PRODUCT_OUT)/product_copy_files_ignored.txt,$(subst $(space),$(newline),$(strip $(product_copy_files_ignored)))) -ifdef dist_goal -$(file >$(DIST_DIR)/logs/product_copy_files_ignored.txt,$(subst $(space),$(newline),$(strip $(product_copy_files_ignored)))) -endif +pcf_ignored_file := $(PRODUCT_OUT)/product_copy_files_ignored.txt +$(pcf_ignored_file): PRIVATE_IGNORED := $(sort $(product_copy_files_ignored)) +$(pcf_ignored_file): + echo "$(PRIVATE_IGNORED)" | tr " " "\n" >$@ +$(call dist-for-goals,droidcore,$(pcf_ignored_file):logs/$(notdir $(pcf_ignored_file))) + +pcf_ignored_file := product_copy_files_ignored := unique_product_copy_files_pairs := unique_product_copy_files_destinations := @@ -1918,7 +1921,7 @@ define build-systemimage-target build/make/tools/releasetools/build_image.py \ $(TARGET_OUT) $(systemimage_intermediates)/system_image_info.txt $(1) $(TARGET_OUT) \ $(systemimage_intermediates)/generated_system_image_info.txt \ - || ( mkdir -p $(DIST_DIR); cp $(INSTALLED_FILES_FILE) $(DIST_DIR)/installed-files-rescued.txt; \ + || ( mkdir -p $$(DIST_DIR); cp $(INSTALLED_FILES_FILE) $$(DIST_DIR)/installed-files-rescued.txt; \ exit 1 ) endef diff --git a/core/config.mk b/core/config.mk index 44a24f1067..aeb8aeeaee 100644 --- a/core/config.mk +++ b/core/config.mk @@ -50,7 +50,7 @@ backslash := $(patsubst %a,%,$(backslash)) # Mark variables that should be coming as environment variables from soong_ui # as readonly -.KATI_READONLY := OUT_DIR TMPDIR BUILD_DATETIME_FILE +.KATI_READONLY := OUT_DIR TMPDIR BUILD_DATETIME_FILE DIST_DIR # Mark variables deprecated/obsolete CHANGES_URL := https://android.googlesource.com/platform/build/+/master/Changes.md diff --git a/core/envsetup.mk b/core/envsetup.mk index 96e7e2c43b..f5babb64a1 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -1036,11 +1036,6 @@ COMMON_MODULE_CLASSES := TARGET-NOTICE_FILES HOST-NOTICE_FILES HOST-JAVA_LIBRARI PER_ARCH_MODULE_CLASSES := SHARED_LIBRARIES STATIC_LIBRARIES EXECUTABLES GYP RENDERSCRIPT_BITCODE NATIVE_TESTS HEADER_LIBRARIES .KATI_READONLY := COMMON_MODULE_CLASSES PER_ARCH_MODULE_CLASSES -ifeq (,$(strip $(DIST_DIR))) - DIST_DIR := $(OUT_DIR)/dist -endif -.KATI_READONLY := DIST_DIR - ifeq ($(CALLED_FROM_SETUP),true) PRINT_BUILD_CONFIG ?= true endif diff --git a/core/tasks/collect_gpl_sources.mk b/core/tasks/collect_gpl_sources.mk index fdbf6c958d..acbe9bef89 100644 --- a/core/tasks/collect_gpl_sources.mk +++ b/core/tasks/collect_gpl_sources.mk @@ -12,12 +12,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -ifdef dist_goal - # The rule below doesn't have dependenices on the files that it copies, -# so manually generate directly into the DIST_DIR directory that is always -# wiped between dist builds. -gpl_source_tgz := $(DIST_DIR)/gpl_source.tgz +# so manually generate into a PACKAGING intermediate dir, which is wiped +# in installclean between incremental builds on build servers. +gpl_source_tgz := $(call intermediates-dir-for,PACKAGING,gpl_source)/gpl_source.tgz # FORCE since we can't know whether any of the sources changed $(gpl_source_tgz): PRIVATE_PATHS := $(sort $(patsubst %/, %, $(dir $(ALL_GPL_MODULE_LICENSE_FILES)))) @@ -26,8 +24,4 @@ $(gpl_source_tgz) : $(ALL_GPL_MODULE_LICENSE_FILES) $(hide) tar cfz $@ --exclude ".git*" $(PRIVATE_PATHS) # Dist the tgz only if we are doing a full build -ifeq (,$(TARGET_BUILD_APPS)) -droidcore: $(gpl_source_tgz) -endif - -endif # dist_goal +$(call dist-for-goals,droidcore,$(gpl_source_tgz))