Makefile: disable 'printvars' and 'show-vars' recipes for Make 4.3
Make 4.3 is buggy and leads to a "Segmentation fault (core dumped)" when calling 'make printvars' or 'make show-vars', so let's refuse to execute those recipes if Make 4.3 by adding 'check-make-version' recipe as depedendency of 'printvars' and 'show-vars' as suggested by Yann E. Morin. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
parent
63b1ebe94d
commit
25cec5ea73
11
Makefile
11
Makefile
@ -1058,13 +1058,20 @@ ifeq ($(NEED_WRAPPER),y)
|
|||||||
$(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O)
|
$(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
.PHONY: check-make-version
|
||||||
|
check-make-version:
|
||||||
|
ifneq ($(filter $(RUNNING_MAKE_VERSION),4.3),)
|
||||||
|
@echo "Make 4.3 doesn't support 'printvars' and 'show-vars' recipes"
|
||||||
|
@exit 1
|
||||||
|
endif
|
||||||
|
|
||||||
# printvars prints all the variables currently defined in our
|
# printvars prints all the variables currently defined in our
|
||||||
# Makefiles. Alternatively, if a non-empty VARS variable is passed,
|
# Makefiles. Alternatively, if a non-empty VARS variable is passed,
|
||||||
# only the variables matching the make pattern passed in VARS are
|
# only the variables matching the make pattern passed in VARS are
|
||||||
# displayed.
|
# displayed.
|
||||||
# show-vars does the same, but as a JSON dictionnary.
|
# show-vars does the same, but as a JSON dictionnary.
|
||||||
.PHONY: printvars
|
.PHONY: printvars
|
||||||
printvars:
|
printvars: check-make-version
|
||||||
@:
|
@:
|
||||||
$(foreach V, \
|
$(foreach V, \
|
||||||
$(sort $(filter $(VARS),$(.VARIABLES))), \
|
$(sort $(filter $(VARS),$(.VARIABLES))), \
|
||||||
@ -1077,7 +1084,7 @@ printvars:
|
|||||||
|
|
||||||
.PHONY: show-vars
|
.PHONY: show-vars
|
||||||
show-vars: VARS?=%
|
show-vars: VARS?=%
|
||||||
show-vars:
|
show-vars: check-make-version
|
||||||
@:
|
@:
|
||||||
$(info $(call clean-json, { \
|
$(info $(call clean-json, { \
|
||||||
$(foreach V, \
|
$(foreach V, \
|
||||||
|
Loading…
Reference in New Issue
Block a user