| # -*-mode: perl; rm-trailing-spaces: nil-*- |
| |
| $description = "Test various forms of the GNU make `include' command."; |
| |
| $details = "Test include, -include, sinclude and various regressions involving them. |
| Test extra whitespace at the end of the include, multiple -includes and |
| sincludes (should not give an error) and make sure that errors are reported |
| for targets that were also -included."; |
| |
| $makefile2 = &get_tmpfile; |
| |
| open(MAKEFILE,"> $makefile"); |
| |
| # The contents of the Makefile ... |
| |
| print MAKEFILE <<EOF; |
| \#Extra space at the end of the following file name |
| include $makefile2 |
| all: ; \@echo There should be no errors for this makefile. |
| |
| -include nonexistent.mk |
| -include nonexistent.mk |
| sinclude nonexistent.mk |
| sinclude nonexistent-2.mk |
| -include makeit.mk |
| sinclude makeit.mk |
| |
| error: makeit.mk |
| EOF |
| |
| close(MAKEFILE); |
| |
| |
| open(MAKEFILE,"> $makefile2"); |
| |
| print MAKEFILE "ANOTHER: ; \@echo This is another included makefile\n"; |
| |
| close(MAKEFILE); |
| |
| # Create the answer to what should be produced by this Makefile |
| &run_make_with_options($makefile, "all", &get_logfile); |
| $answer = "There should be no errors for this makefile.\n"; |
| &compare_output($answer, &get_logfile(1)); |
| |
| &run_make_with_options($makefile, "ANOTHER", &get_logfile); |
| $answer = "This is another included makefile\n"; |
| &compare_output($answer, &get_logfile(1)); |
| |
| # Try to build the "error" target; this will fail since we don't know |
| # how to create makeit.mk, but we should also get a message (even though |
| # the -include suppressed it during the makefile read phase, we should |
| # see one during the makefile run phase). |
| |
| # The fix to this caused more problems than the error, so I removed it. |
| # pds -- 22 Jan 2000 |
| |
| #&run_make_with_options($makefile, "error", &get_logfile, 512); |
| #$answer = "$make_name: *** No rule to make target `makeit.mk', needed by `error'.\n"; |
| #&compare_output($answer, &get_logfile(1)); |
| |
| 1; |