diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-04-26 11:51:14 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-04-26 19:55:40 +0200 |
commit | 256f142bf662fd8fee712e38edd58bb6e8fd283d (patch) | |
tree | 6a5092b76348f752b35202bd2f1e8abc049b2b36 | |
parent | ae473ca4464a2dd4514077169af9005d8665c59a (diff) | |
download | buildroot-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-- | Makefile | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -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))) #")) |