1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # -*-perl-*-
- # Updated 6.16.93 variable "MAKE" is default was environment override
- # For make 3.63 and above
- $description = "The following test creates a makefile to verify
- test the foreach function.";
- $details = "This is a test of the foreach function in gnu make.
- This function starts with a space separated list of
- names and a variable. Each name in the list is subsituted
- into the variable and the given text evaluated. The general
- form of the command is $(foreach var,$list,$text). Several
- types of foreach loops are tested\n";
- open(MAKEFILE,"> $makefile");
- # The Contents of the MAKEFILE ...
- # On WIN32 systems, the user's path is found in %Path% ($Path)
- #
- $pathvar = (($port_type eq 'Windows') ? "Path" : "PATH");
- print MAKEFILE <<EOF;
- foo = bletch null \@ garf
- null :=
- space = ' '
- auto_var = udef space CC null $pathvar MAKE foo CFLAGS WHITE \@ <
- av = \$(foreach var, \$(auto_var), \$(origin \$(var)) )
- override WHITE := BLACK
- for_var = \$(addsuffix .c,foo \$(null) \$(foo) \$(space) \$(av) )
- fe = \$(foreach var2, \$(for_var),\$(subst .c,.o, \$(var2) ) )
- all: auto for2
- auto :
- \t\@echo \$(av)
- for2:
- \t\@echo \$(fe)
- EOF
- close(MAKEFILE);
- &run_make_with_options($makefile,
- "-e WHITE=WHITE CFLAGS=",
- &get_logfile);
- # Create the answer to what should be produced by this Makefile
- $answer = "undefined file default file environment default file command line override automatic automatic
- foo.o bletch.o null.o @.o garf.o .o .o undefined.o file.o default.o file.o environment.o default.o file.o command.o line.o override.o automatic.o automatic.o\n";
- &compare_output($answer,&get_logfile(1));
- 1;
|