summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-04-26 11:51:14 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-04-26 19:55:40 +0200
commit256f142bf662fd8fee712e38edd58bb6e8fd283d (patch)
tree6a5092b76348f752b35202bd2f1e8abc049b2b36
parentae473ca4464a2dd4514077169af9005d8665c59a (diff)
downloadbuildroot-256f142bf662fd8fee712e38edd58bb6e8fd283d.tar.gz
buildroot-256f142bf662fd8fee712e38edd58bb6e8fd283d.zip
Makefile: add BR_BUILDING variable
Some packages do some sanity checks on their configuration, for example linux checks that the defconfig string is not empty when a defconfig is used. Such checks are currently always performed, except when the 'source' target is part of make goals. This is problematic for two reasons: - Other targets such as 'source-check', 'external-deps' or 'legal-info', that do not consist in doing a build, cannot be executed in such situations. - The current code removes the check as soon as one of the targets is source. But if there are other non-source targets called at the same time, the checks are ignored. This commit therefore introduces an internal variable called BR_BUILDING, which tells packages if we are actually building or not. A variable nobuild_targets indicates the targets that we do not consider as being build targets. For the moment, nobuild_targets only contains 'source', to be completely iso-functional. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-rw-r--r--Makefile16
1 files changed, 16 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 0ba341b4cc..e0be636c24 100644
--- a/Makefile
+++ b/Makefile
@@ -77,6 +77,22 @@ noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconf
randpackageconfig allyespackageconfig allnopackageconfig \
print-version olddefconfig
+# Some global targets do not trigger a build, but are used to collect
+# metadata, or do various checks. When such targets are triggered,
+# some packages should not do their configuration sanity
+# checks. Provide them a BR_BUILDING variable set to 'y' when we're
+# actually building and they should do their sanity checks.
+#
+# We're building in two situations: when MAKECMDGOALS is empty
+# (default target is to build), or when MAKECMDGOALS contains
+# something else than one of the nobuild_targets.
+nobuild_targets := source
+ifeq ($(MAKECMDGOALS),)
+BR_BUILDING = y
+else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),)
+BR_BUILDING = y
+endif
+
# Strip quotes and then whitespaces
qstrip = $(strip $(subst ",,$(1)))
#"))
OpenPOWER on IntegriCloud