# -*-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;