From 349dc0793379cfbed1e126813f6b53fb25c7ceda Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Sun, 17 Oct 2021 00:28:39 -0700 Subject: [PATCH] Shrink Mac builds Device builds are no longer supported on Mac, but we do support building various host tools, including the SDK build-tools and platform-tools packages. All of these are defined in Soong now, so we stop reading all the Android.mk files, and defining and depending on the device output targets. Bug: 187222815 Test: `m`, `m dist`, etc on Mac Change-Id: Ibb19756d44f2cbc6948381043115718ffc3f4b7d --- core/main.mk | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/core/main.mk b/core/main.mk index a2d76aaa98..18994ce57c 100644 --- a/core/main.mk +++ b/core/main.mk @@ -534,7 +534,12 @@ FULL_BUILD := true # Include all of the makefiles in the system # -subdir_makefiles := $(SOONG_ANDROID_MK) $(file <$(OUT_DIR)/.module_paths/Android.mk.list) $(SOONG_OUT_DIR)/late-$(TARGET_PRODUCT).mk +subdir_makefiles := $(SOONG_ANDROID_MK) +# Android.mk files are only used on Linux builds, Mac only supports Android.bp +ifeq ($(HOST_OS),linux) + subdir_makefiles += $(file <$(OUT_DIR)/.module_paths/Android.mk.list) +endif +subdir_makefiles += $(SOONG_OUT_DIR)/late-$(TARGET_PRODUCT).mk subdir_makefiles_total := $(words int $(subdir_makefiles) post finish) .KATI_READONLY := subdir_makefiles_total @@ -1310,7 +1315,11 @@ $(if $(strip $(1)), \ ) endef -ifdef FULL_BUILD +ifeq ($(HOST_OS),darwin) + # Target builds are not supported on Mac + product_target_FILES := + product_host_FILES := $(call host-installed-files,$(INTERNAL_PRODUCT)) +else ifdef FULL_BUILD ifneq (true,$(ALLOW_MISSING_DEPENDENCIES)) # Check to ensure that all modules in PRODUCT_PACKAGES exist (opt in per product) ifeq (true,$(PRODUCT_ENFORCE_PACKAGES_EXIST)) @@ -1466,7 +1475,9 @@ endif # contains everything that's built during the current make, but it also further # extends ALL_DEFAULT_INSTALLED_MODULES. ALL_DEFAULT_INSTALLED_MODULES := $(modules_to_install) -include $(BUILD_SYSTEM)/Makefile +ifeq ($(HOST_OS),linux) + include $(BUILD_SYSTEM)/Makefile +endif modules_to_install := $(sort $(ALL_DEFAULT_INSTALLED_MODULES)) ALL_DEFAULT_INSTALLED_MODULES := @@ -1687,7 +1698,11 @@ ifeq ($(SOONG_COLLECT_JAVA_DEPS), true) endif .PHONY: apps_only -ifneq ($(TARGET_BUILD_APPS),) +ifeq ($(HOST_OS),darwin) + # Mac only supports building host modules + droid_targets: $(filter $(HOST_OUT_ROOT)/%,$(modules_to_install)) dist_files + +else ifneq ($(TARGET_BUILD_APPS),) # If this build is just for apps, only build apps and not the full system by default. unbundled_build_modules :=