|
Packit |
26a39e |
# -*-perl-*-
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
$description = "Test special GNU make variables.";
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
$details = "";
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
&run_make_test('
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
X1 := $(sort $(filter FOO BAR,$(.VARIABLES)))
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
FOO := foo
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
X2 := $(sort $(filter FOO BAR,$(.VARIABLES)))
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
BAR := bar
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
all: ; @echo X1 = $(X1); echo X2 = $(X2); echo LAST = $(sort $(filter FOO BAR,$(.VARIABLES)))
|
|
Packit |
26a39e |
',
|
|
Packit |
26a39e |
'', "X1 =\nX2 = FOO\nLAST = BAR FOO\n");
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# SV 45728: Test that undefining a variable is reflected properly
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
&run_make_test('
|
|
Packit |
26a39e |
FOO := foo
|
|
Packit |
26a39e |
BAR := bar
|
|
Packit |
26a39e |
$(info one: $(sort $(filter FOO BAR BAZ,$(.VARIABLES))))
|
|
Packit |
26a39e |
undefine BAR
|
|
Packit |
26a39e |
BAZ := baz
|
|
Packit |
26a39e |
$(info two: $(sort $(filter FOO BAR BAZ,$(.VARIABLES))))
|
|
Packit |
26a39e |
all:;@:
|
|
Packit |
26a39e |
',
|
|
Packit |
26a39e |
'', "one: BAR FOO\ntwo: BAZ FOO\n");
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# $makefile2 = &get_tmpfile;
|
|
Packit |
26a39e |
# open(MAKEFILE, "> $makefile2");
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# print MAKEFILE <<'EOF';
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# X1 := $(sort $(.TARGETS))
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# all: foo
|
|
Packit |
26a39e |
# @echo X1 = $(X1)
|
|
Packit |
26a39e |
# @echo X2 = $(X2)
|
|
Packit |
26a39e |
# @echo LAST = $(sort $(.TARGETS))
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# X2 := $(sort $(.TARGETS))
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# foo:
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# EOF
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# close(MAKEFILE);
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# # TEST #2
|
|
Packit |
26a39e |
# # -------
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# &run_make_with_options($makefile2, "", &get_logfile);
|
|
Packit |
26a39e |
# $answer = "X1 =\nX2 = all\nLAST = all foo\n";
|
|
Packit |
26a39e |
# &compare_output($answer, &get_logfile(1));
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# Test the .RECIPEPREFIX variable
|
|
Packit |
26a39e |
&run_make_test('
|
|
Packit |
26a39e |
define foo
|
|
Packit |
26a39e |
: foo-one\
|
|
Packit |
26a39e |
foo-two
|
|
Packit |
26a39e |
: foo-three
|
|
Packit |
26a39e |
: foo-four
|
|
Packit |
26a39e |
endef
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
orig: ; : orig-one
|
|
Packit |
26a39e |
: orig-two \
|
|
Packit |
26a39e |
orig-three \
|
|
Packit |
26a39e |
orig-four \
|
|
Packit |
26a39e |
orig-five \\\\
|
|
Packit |
26a39e |
: orig-six
|
|
Packit |
26a39e |
$(foo)
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
.RECIPEPREFIX = >
|
|
Packit |
26a39e |
test: ; : test-one
|
|
Packit |
26a39e |
>: test-two \
|
|
Packit |
26a39e |
test-three \
|
|
Packit |
26a39e |
>test-four \
|
|
Packit |
26a39e |
> test-five \\\\
|
|
Packit |
26a39e |
>: test-six
|
|
Packit |
26a39e |
>$(foo)
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
.RECIPEPREFIX =
|
|
Packit |
26a39e |
reset: ; : reset-one
|
|
Packit |
26a39e |
: reset-two \
|
|
Packit |
26a39e |
reset-three \
|
|
Packit |
26a39e |
reset-four \
|
|
Packit |
26a39e |
reset-five \\\\
|
|
Packit |
26a39e |
: reset-six
|
|
Packit |
26a39e |
$(foo)
|
|
Packit |
26a39e |
',
|
|
Packit |
26a39e |
'orig test reset',
|
|
Packit |
26a39e |
': orig-one
|
|
Packit |
26a39e |
: orig-two \
|
|
Packit |
26a39e |
orig-three \
|
|
Packit |
26a39e |
orig-four \
|
|
Packit |
26a39e |
orig-five \\\\
|
|
Packit |
26a39e |
: orig-six
|
|
Packit |
26a39e |
: foo-one foo-two
|
|
Packit |
26a39e |
: foo-three
|
|
Packit |
26a39e |
: foo-four
|
|
Packit |
26a39e |
: test-one
|
|
Packit |
26a39e |
: test-two \
|
|
Packit |
26a39e |
test-three \
|
|
Packit |
26a39e |
test-four \
|
|
Packit |
26a39e |
test-five \\\\
|
|
Packit |
26a39e |
: test-six
|
|
Packit |
26a39e |
: foo-one foo-two
|
|
Packit |
26a39e |
: foo-three
|
|
Packit |
26a39e |
: foo-four
|
|
Packit |
26a39e |
: reset-one
|
|
Packit |
26a39e |
: reset-two \
|
|
Packit |
26a39e |
reset-three \
|
|
Packit |
26a39e |
reset-four \
|
|
Packit |
26a39e |
reset-five \\\\
|
|
Packit |
26a39e |
: reset-six
|
|
Packit |
26a39e |
: foo-one foo-two
|
|
Packit |
26a39e |
: foo-three
|
|
Packit |
26a39e |
: foo-four');
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
# Test that the "did you mean TAB" message is printed properly
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
run_make_test(q!
|
|
Packit |
26a39e |
$x.
|
|
Packit |
26a39e |
!,
|
|
Packit |
26a39e |
'', '#MAKEFILE#:2: *** missing separator. Stop.', 512);
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
run_make_test(q!
|
|
Packit |
26a39e |
foo:
|
|
Packit |
26a39e |
bar
|
|
Packit |
26a39e |
!,
|
|
Packit |
26a39e |
'', '#MAKEFILE#:3: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.', 512);
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
run_make_test(q!
|
|
Packit |
26a39e |
.RECIPEPREFIX = :
|
|
Packit |
26a39e |
foo:
|
|
Packit |
26a39e |
bar
|
|
Packit |
26a39e |
!,
|
|
Packit |
26a39e |
'', '#MAKEFILE#:4: *** missing separator. Stop.', 512);
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
1;
|
|
Packit |
26a39e |
|
|
Packit |
26a39e |
### Local Variables:
|
|
Packit |
26a39e |
### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action))
|
|
Packit |
26a39e |
### End:
|