mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-02 16:23:37 +00:00
makefiles: Work directly with Makefile.in names in make_makefiles.
This commit is contained in:
parent
6f4d1766a7
commit
56fea67c53
|
@ -132,7 +132,7 @@ sub replace_makefile_variables($)
|
||||||
my $old;
|
my $old;
|
||||||
my $new;
|
my $new;
|
||||||
|
|
||||||
open OLD_FILE, "$file.in" or die "cannot open $file.in";
|
open OLD_FILE, $file or die "cannot open $file";
|
||||||
while (<OLD_FILE>)
|
while (<OLD_FILE>)
|
||||||
{
|
{
|
||||||
$old .= $_;
|
$old .= $_;
|
||||||
|
@ -180,7 +180,7 @@ sub replace_makefile_variables($)
|
||||||
$replaced{$var} = 1;
|
$replaced{$var} = 1;
|
||||||
foreach my $val (@values)
|
foreach my $val (@values)
|
||||||
{
|
{
|
||||||
die "$file.in: duplicate file $val" if defined $files{$val};
|
die "$file: duplicate file $val" if defined $files{$val};
|
||||||
$files{$val} = 1;
|
$files{$val} = 1;
|
||||||
}
|
}
|
||||||
next;
|
next;
|
||||||
|
@ -201,7 +201,7 @@ sub replace_makefile_variables($)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
close OLD_FILE;
|
close OLD_FILE;
|
||||||
update_file("$file.in", $new) if $old ne $new;
|
update_file($file, $new) if $old ne $new;
|
||||||
}
|
}
|
||||||
|
|
||||||
# parse the specified makefile and load the variables
|
# parse the specified makefile and load the variables
|
||||||
|
@ -212,7 +212,7 @@ sub parse_makefile($)
|
||||||
|
|
||||||
($make{"=dir"} = $file) =~ s/[^\/]+$//;
|
($make{"=dir"} = $file) =~ s/[^\/]+$//;
|
||||||
|
|
||||||
open MAKE, "$file.in" or die "cannot open $file.in\n";
|
open MAKE, $file or die "cannot open $file\n";
|
||||||
|
|
||||||
while (<MAKE>)
|
while (<MAKE>)
|
||||||
{
|
{
|
||||||
|
@ -223,7 +223,7 @@ sub parse_makefile($)
|
||||||
|
|
||||||
if (/\@[A-Z_]+\@/) # config.status substitution variable
|
if (/\@[A-Z_]+\@/) # config.status substitution variable
|
||||||
{
|
{
|
||||||
die "Configure substitution is not allowed in $file" unless $file eq "Makefile";
|
die "Configure substitution is not allowed in $file" unless $file eq "Makefile.in";
|
||||||
}
|
}
|
||||||
if (/^\s*(MODULE|IMPORTLIB|TESTDLL|STATICLIB|PARENTSRC|EXTRADLLFLAGS)\s*=\s*(.*)/)
|
if (/^\s*(MODULE|IMPORTLIB|TESTDLL|STATICLIB|PARENTSRC|EXTRADLLFLAGS)\s*=\s*(.*)/)
|
||||||
{
|
{
|
||||||
|
@ -241,7 +241,7 @@ sub parse_makefile($)
|
||||||
}
|
}
|
||||||
if (/^\s*(TOPSRCDIR|TOPOBJDIR|SRCDIR|VPATH)\s*=\s*(.*)/)
|
if (/^\s*(TOPSRCDIR|TOPOBJDIR|SRCDIR|VPATH)\s*=\s*(.*)/)
|
||||||
{
|
{
|
||||||
die "Variable $1 in $file.in is obsolete";
|
die "Variable $1 in $file is obsolete";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -293,13 +293,13 @@ sub get_parent_makefile($)
|
||||||
my %make = %{$makefiles{$file}};
|
my %make = %{$makefiles{$file}};
|
||||||
my $reldir = $make{"PARENTSRC"} || "";
|
my $reldir = $make{"PARENTSRC"} || "";
|
||||||
return "" unless $reldir;
|
return "" unless $reldir;
|
||||||
(my $path = $file) =~ s/\/Makefile$/\//;
|
(my $path = $file) =~ s/\/Makefile\.in$/\//;
|
||||||
while ($reldir =~ /^\.\.\//)
|
while ($reldir =~ /^\.\.\//)
|
||||||
{
|
{
|
||||||
$reldir =~ s/^\.\.\///;
|
$reldir =~ s/^\.\.\///;
|
||||||
$path =~ s/[^\/]+\/$//;
|
$path =~ s/[^\/]+\/$//;
|
||||||
}
|
}
|
||||||
return "$path$reldir/Makefile";
|
return "$path$reldir/Makefile.in";
|
||||||
}
|
}
|
||||||
|
|
||||||
# preserve shared source files that are listed in the existing makefile
|
# preserve shared source files that are listed in the existing makefile
|
||||||
|
@ -329,13 +329,13 @@ sub assign_sources_to_makefiles(@)
|
||||||
my $dir = dirname( $file );
|
my $dir = dirname( $file );
|
||||||
my $subdir = $dir;
|
my $subdir = $dir;
|
||||||
|
|
||||||
while ($dir && !defined $makefiles{"$dir/Makefile"}) { $dir = dirname( $dir ); }
|
while ($dir && !defined $makefiles{"$dir/Makefile.in"}) { $dir = dirname( $dir ); }
|
||||||
$subdir =~ s/^$dir\/?//;
|
$subdir =~ s/^$dir\/?//;
|
||||||
next unless $dir;
|
next unless $dir;
|
||||||
|
|
||||||
die "no makefile found for $file\n" unless defined $makefiles{"$dir/Makefile"};
|
die "no makefile found for $file\n" unless defined $makefiles{"$dir/Makefile.in"};
|
||||||
|
|
||||||
my $make = $makefiles{"$dir/Makefile"};
|
my $make = $makefiles{"$dir/Makefile.in"};
|
||||||
my $name = substr( $file, length($dir) + 1 );
|
my $name = substr( $file, length($dir) + 1 );
|
||||||
|
|
||||||
if ($name =~ /\.m$/) { push @{${$make}{"=OBJC_SRCS"}}, $name; }
|
if ($name =~ /\.m$/) { push @{${$make}{"=OBJC_SRCS"}}, $name; }
|
||||||
|
@ -417,13 +417,13 @@ sub update_makefiles(@)
|
||||||
|
|
||||||
foreach my $file (sort @_)
|
foreach my $file (sort @_)
|
||||||
{
|
{
|
||||||
next if $file eq "Makefile";
|
next if $file eq "Makefile.in";
|
||||||
my %make = %{$makefiles{$file}};
|
my %make = %{$makefiles{$file}};
|
||||||
(my $dir = $file) =~ s/^(.*)\/Makefile/$1/;
|
(my $dir = $file) =~ s/^(.*)\/Makefile\.in/$1/;
|
||||||
my $args = "";
|
my $args = "";
|
||||||
if (defined($make{"TESTDLL"})) # test
|
if (defined($make{"TESTDLL"})) # test
|
||||||
{
|
{
|
||||||
die "TESTDLL should not be defined in $file" unless $file =~ /\/tests\/Makefile$/;
|
die "TESTDLL should not be defined in $file" unless $file =~ /\/tests\/Makefile\.in$/;
|
||||||
die "MODULE should not be defined in $file" if defined $make{"MODULE"};
|
die "MODULE should not be defined in $file" if defined $make{"MODULE"};
|
||||||
die "STATICLIB should not be defined in $file" if defined $make{"STATICLIB"};
|
die "STATICLIB should not be defined in $file" if defined $make{"STATICLIB"};
|
||||||
}
|
}
|
||||||
|
@ -434,7 +434,7 @@ sub update_makefiles(@)
|
||||||
}
|
}
|
||||||
elsif (defined($make{"MODULE"})) # dll or program
|
elsif (defined($make{"MODULE"})) # dll or program
|
||||||
{
|
{
|
||||||
(my $name = $file) =~ s/^(dlls|programs)\/(.*)\/Makefile/$2/;
|
(my $name = $file) =~ s/^(dlls|programs)\/(.*)\/Makefile\.in/$2/;
|
||||||
my $dllflags = $make{"EXTRADLLFLAGS"} || "";
|
my $dllflags = $make{"EXTRADLLFLAGS"} || "";
|
||||||
die "invalid MODULE name" if $make{"MODULE"} =~ /\.a$/;
|
die "invalid MODULE name" if $make{"MODULE"} =~ /\.a$/;
|
||||||
die "MODULE should not be defined in $file" unless $file =~ /^(dlls|programs)\//;
|
die "MODULE should not be defined in $file" unless $file =~ /^(dlls|programs)\//;
|
||||||
|
@ -457,7 +457,7 @@ sub update_makefiles(@)
|
||||||
}
|
}
|
||||||
$args = ",enable_win16" if $make{"MODULE"} =~ /16$/ || $modules16{$make{"MODULE"}};
|
$args = ",enable_win16" if $make{"MODULE"} =~ /16$/ || $modules16{$make{"MODULE"}};
|
||||||
}
|
}
|
||||||
elsif ($file =~ /^tools.*\/Makefile$/)
|
elsif ($file =~ /^tools.*\/Makefile\.in$/)
|
||||||
{
|
{
|
||||||
die "MODULE should not be defined in $file" if defined $make{"MODULE"};
|
die "MODULE should not be defined in $file" if defined $make{"MODULE"};
|
||||||
die "STATICLIB should not be defined in $file" if defined $make{"STATICLIB"};
|
die "STATICLIB should not be defined in $file" if defined $make{"STATICLIB"};
|
||||||
|
@ -489,7 +489,7 @@ die "needs to be run from a git checkout" unless -e $git_dir;
|
||||||
|
|
||||||
my @all_files = split /\0/, `git ls-files -c -z`;
|
my @all_files = split /\0/, `git ls-files -c -z`;
|
||||||
map { $ignored_source_files{$_} = 1; } split /\0/, `git ls-files -d -z`;
|
map { $ignored_source_files{$_} = 1; } split /\0/, `git ls-files -d -z`;
|
||||||
@makefiles = map { (my $ret = $_) =~ s/\.in$//; $ret; } grep /Makefile.in$/, @all_files;
|
@makefiles = grep /Makefile.in$/, @all_files;
|
||||||
|
|
||||||
foreach my $file (sort @makefiles)
|
foreach my $file (sort @makefiles)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue