summaryrefslogtreecommitdiff
path: root/tests/scripts/features/default_names
blob: 2e838806e8e9b75398da9e62430606293ff19946 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#                                                                    -*-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;