12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- $description = "The following test tests that if you specify greater \n"
- ."than one '-f makefilename' on the command line, \n"
- ."that make concatenates them. This test creates three \n"
- ."makefiles and specifies all of them with the -f option \n"
- ."on the command line. To make sure they were concatenated, \n"
- ."we then call make with the rules from the concatenated \n"
- ."makefiles one at a time. Finally, it calls all three \n"
- ."rules in one call to make and checks that the output\n"
- ."is in the correct order.";
- $makefile2 = &get_tmpfile;
- $makefile3 = &get_tmpfile;
- open(MAKEFILE,"> $makefile");
- # The Contents of the MAKEFILE ...
- print MAKEFILE "all: \n";
- print MAKEFILE "\t\@echo This is the output from the original makefile\n";
- # END of Contents of MAKEFILE
- close(MAKEFILE);
- # Create a second makefile
- open(MAKEFILE,"> $makefile2");
- print MAKEFILE "TWO: \n";
- print MAKEFILE "\t\@echo This is the output from makefile 2\n";
- close(MAKEFILE);
- # Create a third makefile
- open(MAKEFILE,"> $makefile3");
- print MAKEFILE "THREE: \n";
- print MAKEFILE "\t\@echo This is the output from makefile 3\n";
- close(MAKEFILE);
- # Create the answer to what should be produced by this Makefile
- $answer = "This is the output from the original makefile\n";
- # Run make to catch the default rule
- &run_make_with_options($makefile,"-f $makefile2 -f $makefile3",&get_logfile,0);
- &compare_output($answer,&get_logfile(1));
- # Run Make again with the rule from the second makefile: TWO
- $answer = "This is the output from makefile 2\n";
- &run_make_with_options($makefile,"-f $makefile2 -f $makefile3 TWO",&get_logfile,0);
- &compare_output($answer,&get_logfile(1));
-
- # Run Make again with the rule from the third makefile: THREE
- $answer = "This is the output from makefile 3\n";
- &run_make_with_options($makefile,
- "-f $makefile2 -f $makefile3 THREE",
- &get_logfile,
- 0);
- &compare_output($answer,&get_logfile(1));
- # Run Make again with ALL three rules in the order 2 1 3 to make sure
- # that all rules are executed in the proper order
- $answer = "This is the output from makefile 2\n";
- $answer .= "This is the output from the original makefile\n";
- $answer .= "This is the output from makefile 3\n";
- &run_make_with_options($makefile,
- "-f $makefile2 -f $makefile3 TWO all THREE",
- &get_logfile,
- 0);
- &compare_output($answer,&get_logfile(1));
-
|