summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dan Willemsen <dwillemsen@google.com> 2016-11-09 16:35:34 -0800
committer Dan Willemsen <dwillemsen@google.com> 2016-11-09 17:29:23 -0800
commitcfabc42af9218daab8c2a3e8aa6c5b944266b013 (patch)
tree78d07987869ebb5462eed3b208a85dbef1a6dc9b
parent98f15a70e98077a9fae4af2b79f18ff8795e40e5 (diff)
Move some configuration from main.mk to config.mk
When dumping make configuration (dump-many-var, dump-var-*), we only load config.mk, not main.mk. One of the first things that main.mk does is to include config.mk, so these moves are safe. Turning off the implicit rules and other make configuration / sanity checks should happen in all cases, so move them to config.mk Move dont_bother_rules to config.mk so that it can be used by the ninja configuration (which is moving in a later change). Move dont_bother into the kati section, since it's not used elsewhere. Test: m clean Test: get_build_var dont_bother_goals Change-Id: Ib3ec8aa8eebcaf743d2cdcc31f89827c4e8470a1
-rw-r--r--core/config.mk47
-rw-r--r--core/main.mk68
2 files changed, 51 insertions, 64 deletions
diff --git a/core/config.mk b/core/config.mk
index 93a2d34b7d..b43169fbf2 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -31,6 +31,37 @@ endef
backslash := \a
backslash := $(patsubst %a,%,$(backslash))
+# this turns off the suffix rules built into make
+.SUFFIXES:
+
+# this turns off the RCS / SCCS implicit rules of GNU Make
+% : RCS/%,v
+% : RCS/%
+% : %,v
+% : s.%
+% : SCCS/s.%
+
+# If a rule fails, delete $@.
+.DELETE_ON_ERROR:
+
+# Check for broken versions of make.
+ifndef KATI
+ifneq (1,$(strip $(shell expr $(MAKE_VERSION) \>= 3.81)))
+$(warning ********************************************************************************)
+$(warning * You are using version $(MAKE_VERSION) of make.)
+$(warning * Android can only be built by versions 3.81 and higher.)
+$(warning * see https://source.android.com/source/download.html)
+$(warning ********************************************************************************)
+$(error stopping)
+endif
+endif
+
+# Used to force goals to build. Only use for conditionally defined goals.
+.PHONY: FORCE
+FORCE:
+
+ORIGINAL_MAKECMDGOALS := $(MAKECMDGOALS)
+
# Tell python not to spam the source tree with .pyc files. This
# only has an effect on python 2.6 and above.
export PYTHONDONTWRITEBYTECODE := 1
@@ -810,4 +841,20 @@ define find_warning_allowed_projects
$(filter $(ANDROID_WARNING_ALLOWED_PROJECTS),$(1)/)
endef
+# These goals don't need to collect and include Android.mks/CleanSpec.mks
+# in the source tree.
+dont_bother_goals := clean clobber dataclean installclean \
+ help out \
+ snod systemimage-nodeps \
+ stnod systemtarball-nodeps \
+ userdataimage-nodeps userdatatarball-nodeps \
+ cacheimage-nodeps \
+ bptimage-nodeps \
+ vendorimage-nodeps \
+ ramdisk-nodeps \
+ bootimage-nodeps \
+ recoveryimage-nodeps \
+ vbmetaimage-nodeps \
+ product-graph dump-products
+
include $(BUILD_SYSTEM)/dumpvar.mk
diff --git a/core/main.mk b/core/main.mk
index 48a39d02d7..6f198d5232 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -9,44 +9,6 @@ else
SHELL := /bin/bash
endif
-# this turns off the suffix rules built into make
-.SUFFIXES:
-
-# this turns off the RCS / SCCS implicit rules of GNU Make
-% : RCS/%,v
-% : RCS/%
-% : %,v
-% : s.%
-% : SCCS/s.%
-
-# If a rule fails, delete $@.
-.DELETE_ON_ERROR:
-
-# Figure out where we are.
-#TOP := $(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
-#TOP := $(patsubst %/,%,$(TOP))
-
-# TOPDIR is the normal variable you should use, because
-# if we are executing relative to the current directory
-# it can be "", whereas TOP must be "." which causes
-# pattern matching problems when make strips off the
-# trailing "./" from paths in various places.
-#ifeq ($(TOP),.)
-#TOPDIR :=
-#else
-#TOPDIR := $(TOP)/
-#endif
-
-# Check for broken versions of make.
-ifneq (1,$(strip $(shell expr $(MAKE_VERSION) \>= 3.81)))
-$(warning ********************************************************************************)
-$(warning * You are using version $(MAKE_VERSION) of make.)
-$(warning * Android can only be built by versions 3.81 and higher.)
-$(warning * see https://source.android.com/source/download.html)
-$(warning ********************************************************************************)
-$(error stopping)
-endif
-
# Absolute path of the present working direcotry.
# This overrides the shell variable $PWD, which does not necessarily points to
# the top of the source tree, for example when "make -C" is used in m/mm/mmm.
@@ -65,32 +27,6 @@ $(DEFAULT_GOAL): droid_targets
.PHONY: droid_targets
droid_targets:
-# Used to force goals to build. Only use for conditionally defined goals.
-.PHONY: FORCE
-FORCE:
-
-# These goals don't need to collect and include Android.mks/CleanSpec.mks
-# in the source tree.
-dont_bother_goals := clean clobber dataclean installclean \
- help out \
- snod systemimage-nodeps \
- stnod systemtarball-nodeps \
- userdataimage-nodeps userdatatarball-nodeps \
- cacheimage-nodeps \
- bptimage-nodeps \
- vendorimage-nodeps \
- ramdisk-nodeps \
- bootimage-nodeps \
- recoveryimage-nodeps \
- vbmetaimage-nodeps \
- product-graph dump-products
-
-ifneq ($(filter $(dont_bother_goals), $(MAKECMDGOALS)),)
-dont_bother := true
-endif
-
-ORIGINAL_MAKECMDGOALS := $(MAKECMDGOALS)
-
# Targets that provide quick help on the build system.
include $(BUILD_SYSTEM)/help.mk
@@ -108,6 +44,10 @@ $(shell mkdir -p $(OUT_DIR) && touch $(OUT_DIR)/ninja_build)
include build/core/ninja.mk
else # KATI
+ifneq ($(filter $(dont_bother_goals), $(MAKECMDGOALS)),)
+dont_bother := true
+endif
+
include $(SOONG_MAKEVARS_MK)
# Write the build number to a file so it can be read back in