This commit was manufactured by cvs2svn to create tag
[kbuild-mirror.git] / src / gmake / tests / scripts / variables / flavors
blob7c98afd29d90790eaec566be6dea53e46964e92e
1 #                                                                    -*-perl-*-
3 $description = "Test various flavors of make variable setting.";
5 $details = "";
7 open(MAKEFILE, "> $makefile");
9 # The Contents of the MAKEFILE ...
11 print MAKEFILE <<'EOF';
12 foo = $(bar)
13 bar = ${ugh}
14 ugh = Hello
16 all: multi ; @echo $(foo)
18 multi: ; $(multi)
20 x := foo
21 y := $(x) bar
22 x := later
24 nullstring :=
25 space := $(nullstring) $(nullstring)
27 next: ; @echo $x$(space)$y
29 define multi
30 @echo hi
31 echo there
32 endef
34 ifdef BOGUS
35 define
36 @echo error
37 endef
38 endif
40 define outer
41  define inner
42   A = B
43  endef
44 endef
46 $(eval $(outer))
48 outer: ; @echo $(inner)
50 EOF
52 # END of Contents of MAKEFILE
54 close(MAKEFILE);
56 # TEST #1
57 # -------
59 &run_make_with_options($makefile, "", &get_logfile);
60 $answer = "hi\necho there\nthere\nHello\n";
61 &compare_output($answer, &get_logfile(1));
63 # TEST #2
64 # -------
66 &run_make_with_options($makefile, "next", &get_logfile);
67 $answer = "later foo bar\n";
68 &compare_output($answer, &get_logfile(1));
70 # TEST #3
71 # -------
73 &run_make_with_options($makefile, "BOGUS=true", &get_logfile, 512);
74 $answer = "$makefile:23: *** empty variable name.  Stop.\n";
75 &compare_output($answer, &get_logfile(1));
77 # TEST #4
78 # -------
80 &run_make_with_options($makefile, "outer", &get_logfile);
81 $answer = "A = B\n";
82 &compare_output($answer, &get_logfile(1));