2013-05-13 06:17:29 +00:00
|
|
|
# -*-perl-*-
|
2009-10-03 20:08:20 +00:00
|
|
|
|
|
|
|
$description = "Test proper behavior of MAKEFLAGS";
|
|
|
|
|
|
|
|
$details = "DETAILS";
|
|
|
|
|
|
|
|
# Normal flags aren't prefixed with "-"
|
|
|
|
run_make_test(q!
|
|
|
|
all: ; @echo $(MAKEFLAGS)
|
|
|
|
!,
|
2013-05-22 11:51:46 +00:00
|
|
|
'-e -r -R', 'erR');
|
2009-10-03 20:08:20 +00:00
|
|
|
|
|
|
|
# Long arguments mean everything is prefixed with "-"
|
|
|
|
run_make_test(q!
|
|
|
|
all: ; @echo $(MAKEFLAGS)
|
|
|
|
!,
|
2020-12-05 21:25:12 +00:00
|
|
|
'--no-print-directory -e -r -R --trace', "#MAKEFILE#:2: update target 'all' due to: target does not exist
|
2013-09-12 08:07:52 +00:00
|
|
|
echo erR --trace --no-print-directory
|
|
|
|
erR --trace --no-print-directory");
|
2009-10-03 20:08:20 +00:00
|
|
|
|
|
|
|
|
2013-05-13 06:17:29 +00:00
|
|
|
# Recursive invocations of make should accumulate MAKEFLAGS values.
|
|
|
|
# Savannah bug #2216
|
|
|
|
run_make_test(q!
|
2009-10-03 20:08:20 +00:00
|
|
|
MSG = Fails
|
2020-12-05 21:25:12 +00:00
|
|
|
.RECIPEPREFIX = >
|
2009-10-03 20:08:20 +00:00
|
|
|
all:
|
2020-12-05 21:25:12 +00:00
|
|
|
> @echo '$@: MAKEFLAGS=$(MAKEFLAGS)'
|
|
|
|
> @MSG=Works $(MAKE) -e -f #MAKEFILE# jump
|
2009-10-03 20:08:20 +00:00
|
|
|
jump:
|
2020-12-05 21:25:12 +00:00
|
|
|
> @echo '$@ $(MSG): MAKEFLAGS=$(MAKEFLAGS)'
|
|
|
|
> @$(MAKE) -f #MAKEFILE# print
|
2009-10-03 20:08:20 +00:00
|
|
|
print:
|
2020-12-05 21:25:12 +00:00
|
|
|
> @echo '$@ $(MSG): MAKEFLAGS=$(MAKEFLAGS)'
|
2009-10-03 20:08:20 +00:00
|
|
|
.PHONY: all jump print
|
|
|
|
!,
|
|
|
|
'--no-print-directory',
|
2013-05-22 11:51:46 +00:00
|
|
|
'all: MAKEFLAGS= --no-print-directory
|
|
|
|
jump Works: MAKEFLAGS=e --no-print-directory
|
|
|
|
print Works: MAKEFLAGS=e --no-print-directory');
|
2009-10-03 20:08:20 +00:00
|
|
|
|
2021-09-05 21:11:44 +00:00
|
|
|
# Ensure MAKEFLAGS updates are handled immediately rather than later
|
|
|
|
|
|
|
|
mkdir('foo', 0777);
|
|
|
|
mkdir('bar', 0777);
|
|
|
|
|
|
|
|
run_make_test(q!
|
|
|
|
$(info MAKEFLAGS=$(MAKEFLAGS))
|
|
|
|
$(info INCLUDE_DIRS=$(.INCLUDE_DIRS))
|
|
|
|
MAKEFLAGS += -Ibar
|
|
|
|
$(info MAKEFLAGS=$(MAKEFLAGS))
|
|
|
|
$(info INCLUDE_DIRS=$(.INCLUDE_DIRS))
|
|
|
|
.PHONY: all
|
|
|
|
all: ; @echo 'MAKEFLAGS=$(MAKEFLAGS)' "\$$MAKEFLAGS=$$MAKEFLAGS"
|
|
|
|
!,
|
|
|
|
'-I- -Ifoo', 'MAKEFLAGS= -I- -Ifoo
|
|
|
|
INCLUDE_DIRS=foo
|
|
|
|
MAKEFLAGS= -I- -Ifoo -Ibar
|
|
|
|
INCLUDE_DIRS=foo bar
|
|
|
|
MAKEFLAGS= -I- -Ifoo -Ibar $MAKEFLAGS= -I- -Ifoo -Ibar');
|
|
|
|
|
|
|
|
rmdir('foo');
|
|
|
|
rmdir('bar');
|
|
|
|
|
2009-10-03 20:08:20 +00:00
|
|
|
1;
|