blob: c111c1a091f7ce755c0dba4e13edc3fdd657b8f3 [file] [log] [blame]
# -*-perl-*-
$description = "Test special GNU Make variables.";
$details = "";
run_make_test(q!
X1 := $(sort $(filter FOO BAR,$(.VARIABLES)))
FOO := foo
X2 := $(sort $(filter FOO BAR,$(.VARIABLES)))
BAR := bar
all: ; @echo X1 = $(X1); echo X2 = $(X2); echo LAST = $(sort $(filter FOO BAR,$(.VARIABLES)))
!,
'', "X1 =\nX2 = FOO\nLAST = BAR FOO\n");
# SV 45728: Test that undefining a variable is reflected properly
run_make_test(q!
FOO := foo
BAR := bar
$(info one: $(sort $(filter FOO BAR BAZ,$(.VARIABLES))))
undefine BAR
BAZ := baz
$(info two: $(sort $(filter FOO BAR BAZ,$(.VARIABLES))))
all:;@:
!,
'', "one: BAR FOO\ntwo: BAZ FOO\n");
# $makefile2 = &get_tmpfile;
# open(MAKEFILE, "> $makefile2");
# print MAKEFILE <<'EOF';
# X1 := $(sort $(.TARGETS))
# all: foo
##TAB#@echo X1 = $(X1)
##TAB#@echo X2 = $(X2)
##TAB#@echo LAST = $(sort $(.TARGETS))
# X2 := $(sort $(.TARGETS))
# foo:
# EOF
# close(MAKEFILE);
# # TEST #2
# # -------
# &run_make_with_options($makefile2, "", &get_logfile);
# $answer = "X1 =\nX2 = all\nLAST = all foo\n";
# &compare_output($answer, &get_logfile(1));
# Test the .RECIPEPREFIX variable
run_make_test(q!
define foo
: foo-one\
foo-two
: foo-three
#TAB#: foo-four
endef
orig: ; : orig-one
#TAB#: orig-two \
orig-three \
#TAB#orig-four \
#TAB##TAB#orig-five \\\\
#TAB#: orig-six
#TAB#$(foo)
.RECIPEPREFIX = >
test: ; : test-one
>: test-two \
test-three \
>test-four \
>#TAB#test-five \\\\
>: test-six
>$(foo)
.RECIPEPREFIX =
reset: ; : reset-one
#TAB#: reset-two \
reset-three \
#TAB#reset-four \
#TAB##TAB#reset-five \\\\
#TAB#: reset-six
#TAB#$(foo)
!,
'orig test reset',
': orig-one
: orig-two \
orig-three \
orig-four \
#TAB#orig-five \\\\
: orig-six
: foo-one foo-two
: foo-three
: foo-four
: test-one
: test-two \
test-three \
test-four \
#TAB#test-five \\\\
: test-six
: foo-one foo-two
: foo-three
: foo-four
: reset-one
: reset-two \
reset-three \
reset-four \
#TAB#reset-five \\\\
: reset-six
: foo-one foo-two
: foo-three
: foo-four');
1;