| # -*-perl-*- |
| |
| $description = "This script tests to make sure that Make looks for |
| default makefiles in the correct order (GNUmakefile,makefile,Makefile)"; |
| |
| # Create a makefile called "GNUmakefile" |
| $makefile = "GNUmakefile"; |
| |
| open(MAKEFILE,"> $makefile"); |
| print MAKEFILE "FIRST: ; \@echo It chose GNUmakefile\n"; |
| close(MAKEFILE); |
| |
| # Create another makefile called "makefile" |
| open(MAKEFILE,"> makefile"); |
| print MAKEFILE "SECOND: ; \@echo It chose makefile\n"; |
| close(MAKEFILE); |
| |
| # DOS/WIN32/MacOSX platforms are case-insensitive / case-preserving, so |
| # Makefile is the same file as makefile. Just test what we can here. |
| |
| my $case_sensitive = 0; |
| if (! -f 'Makefile') { |
| # Create another makefile called "Makefile" |
| $case_sensitive = 1; |
| open(MAKEFILE,"> Makefile"); |
| print MAKEFILE "THIRD: ; \@echo It chose Makefile\n"; |
| close(MAKEFILE); |
| } |
| |
| run_make_with_options("","",&get_logfile); |
| compare_output("It chose GNUmakefile\n",&get_logfile(1)); |
| unlink($makefile); |
| |
| run_make_with_options("","",&get_logfile); |
| compare_output("It chose makefile\n",&get_logfile(1)); |
| unlink("makefile"); |
| |
| if ($case_sensitive) { |
| run_make_with_options("","",&get_logfile); |
| compare_output("It chose Makefile\n",&get_logfile(1)); |
| unlink("Makefile"); |
| } |
| |
| 1; |