Change "make PRODUCT-XXX-tests" to build only tests-build-target
Change-Id: Ib1a1a7b09ea6f1c3eea84394dcd6e3ebcda81e1a
diff --git a/core/Makefile b/core/Makefile
index 7b67f88..0adc673 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -831,8 +831,6 @@
.PHONY: userdataimage-nodeps
userdataimage-nodeps: $(INTERNAL_USERIMAGES_DEPS)
$(build-userdataimage-target)
- $(hide)mkdir -p $(DIST_DIR)
- $(hide)cp $(INSTALLED_USERDATAIMAGE_TARGET) $(DIST_DIR)
#######
## data partition tarball
@@ -1106,12 +1104,15 @@
.PHONY: tests-zip-package
tests-zip-package: $(BUILT_TESTS_ZIP_PACKAGE)
-# Dist the files needed by tests builds
-# So the build server can run the following commands to build tests packages while avoid a full build:
-# $make -j16 tests-zip-package userdataimage-nodeps dist showcommands TARGET_BUILD_VARIANT=tests TARGET_PRODUCT=passion
-ifeq ($(filter $(DEFAULT_GOAL) tests-zip-package,$(MAKECMDGOALS)),tests-zip-package)
- $(call dist-for-goals, tests-zip-package, \
- $(BUILT_TESTS_ZIP_PACKAGE))
+# Target needed by tests build
+.PHONY: tests-build-target
+tests-build-target: $(BUILT_TESTS_ZIP_PACKAGE) \
+ $(BUILT_USERDATAIMAGE_TARGET)
+
+ifneq (,$(filter $(MAKECMDGOALS),tests-build-target))
+ $(call dist-for-goals, tests-build-target, \
+ $(BUILT_TESTS_ZIP_PACKAGE) \
+ $(BUILT_USERDATAIMAGE_TARGET))
endif
# -----------------------------------------------------------------
diff --git a/core/main.mk b/core/main.mk
index 8d6fddf..f3ec53f 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -741,17 +741,6 @@
$(INSTALLED_RAMDISK_TARGET) \
)
- # Tests are installed in userdata.img. If we're building the tests
- # variant, copy it for "make tests dist". Also copy a zip of the
- # contents of userdata.img, so that people can easily extract a
- # single .apk.
- ifeq ($(TARGET_BUILD_VARIANT),tests)
- $(call dist-for-goals, droid, \
- $(INSTALLED_USERDATAIMAGE_TARGET) \
- $(BUILT_TESTS_ZIP_PACKAGE) \
- )
- endif
-
# Building a full system-- the default is to build droidcore
droid: droidcore dist_libraries
diff --git a/core/product_config.mk b/core/product_config.mk
index 7f79ff7..4824245 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -119,6 +119,11 @@
default_goal_substitution := $(DEFAULT_GOAL)
endif
+ # For tests build, only build tests-build-target
+ ifeq (tests,$(TARGET_BUILD_VARIANT))
+ default_goal_substitution := tests-build-target
+ endif
+
# Hack to make the linux build servers use dexpreopt (emulator-based
# preoptimization). Most engineers don't use this type of target
# ("make PRODUCT-blah-user"), so this should only tend to happen when