mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-12-28 15:57:48 +00:00
85 lines
2.5 KiB
Text
85 lines
2.5 KiB
Text
$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));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|