configure: Add specific creation macros for the various types of makefiles.

This commit is contained in:
Alexandre Julliard 2010-01-23 14:15:43 +01:00
parent e2af560aa3
commit aa6c4d4e92
3 changed files with 572 additions and 528 deletions

28
aclocal.m4 vendored
View File

@ -189,6 +189,34 @@ ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
AC_CONFIG_FILES([$1])dnl AC_CONFIG_FILES([$1])dnl
m4_popdef([ac_dir])]) m4_popdef([ac_dir])])
dnl **** Create a dll makefile from config.status ****
dnl
dnl Usage: WINE_CONFIG_DLL(name,enable)
dnl
AC_DEFUN([WINE_CONFIG_DLL],
[WINE_CONFIG_MAKEFILE([dlls/$1/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS],[$2])])
dnl **** Create a program makefile from config.status ****
dnl
dnl Usage: WINE_CONFIG_PROGRAM(name,var,enable)
dnl
AC_DEFUN([WINE_CONFIG_PROGRAM],
[WINE_CONFIG_MAKEFILE([programs/$1/Makefile],[programs/Makeprog.rules],[programs],[$2],[$3])])
dnl **** Create a test makefile from config.status ****
dnl
dnl Usage: WINE_CONFIG_TEST(dir)
dnl
AC_DEFUN([WINE_CONFIG_TEST],
[WINE_CONFIG_MAKEFILE([$1/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests])])
dnl **** Create a static lib makefile from config.status ****
dnl
dnl Usage: WINE_CONFIG_LIB(name)
dnl
AC_DEFUN([WINE_CONFIG_LIB],
[WINE_CONFIG_MAKEFILE([dlls/$1/Makefile],[dlls/Makeimplib.rules],[dlls],[ALL_IMPLIB_DIRS])])
dnl **** Add a message to the list displayed at the end **** dnl **** Add a message to the list displayed at the end ****
dnl dnl
dnl Usage: WINE_NOTICE(notice) dnl Usage: WINE_NOTICE(notice)

File diff suppressed because it is too large Load Diff

View File

@ -341,22 +341,38 @@ sub update_makefiles(@)
my $args = ""; my $args = "";
if ($rules eq $makerules{"MAKE_DLL_RULES"}) if ($rules eq $makerules{"MAKE_DLL_RULES"})
{ {
$args = ",[dlls],[ALL_DLL_DIRS]"; (my $name = $file) =~ s/^dlls\/(.*)\/Makefile/$1/;
$args .= ",[enable_win16]" if $make{"MODULE"} =~ /(16|\.vxd)$/; $args .= ",enable_win16" if $make{"MODULE"} =~ /(16|\.vxd)$/;
push @lines, "WINE_CONFIG_DLL($name$args)\n";
} }
elsif ($rules eq $makerules{"MAKE_IMPLIB_RULES"}) { $args = ",[dlls],[ALL_IMPLIB_DIRS]"; }
elsif ($rules eq $makerules{"MAKE_TEST_RULES"}) { $args = ",[dlls],[ALL_TEST_DIRS],[enable_tests]"; }
elsif ($rules eq $makerules{"MAKE_PROG_RULES"}) elsif ($rules eq $makerules{"MAKE_PROG_RULES"})
{ {
(my $name = $file) =~ s/^programs\/(.*)\/Makefile/$1/; (my $name = $file) =~ s/^programs\/(.*)\/Makefile/$1/;
$args = ",[programs],[ALL_PROGRAM_DIRS"; $args = ",[ALL_PROGRAM_DIRS";
$args .= ",ALL_PROGRAM_INSTALL_DIRS" unless $dont_install{$name}; $args .= ",ALL_PROGRAM_INSTALL_DIRS" unless $dont_install{$name};
$args .= ",ALL_PROGRAM_BIN_INSTALL_DIRS" if $bin_install{$name}; $args .= ",ALL_PROGRAM_BIN_INSTALL_DIRS" if $bin_install{$name};
$args .= "]"; $args .= "]";
$args .= ",[enable_win16]" if $make{"MODULE"} =~ /16$/; $args .= ",enable_win16" if $make{"MODULE"} =~ /16$/;
push @lines, "WINE_CONFIG_PROGRAM($name$args)\n";
}
elsif ($rules eq $makerules{"MAKE_TEST_RULES"})
{
(my $dir = $file) =~ s/^(.*)\/Makefile/$1/;
push @lines, "WINE_CONFIG_TEST($dir)\n";
}
elsif ($rules eq $makerules{"MAKE_IMPLIB_RULES"})
{
(my $name = $file) =~ s/^dlls\/(.*)\/Makefile/$1/;
push @lines, "WINE_CONFIG_LIB($name)\n";
}
elsif ($file =~ /^[^\/]*\/Makefile$/)
{
push @lines, "WINE_CONFIG_MAKEFILE([$file],[$rules],[],[ALL_TOP_DIRS])\n";
}
else
{
push @lines, "WINE_CONFIG_MAKEFILE([$file],[$rules])\n";
} }
elsif ($file =~ /^[^\/]*\/Makefile$/) { $args = ",[],[ALL_TOP_DIRS]"; }
push @lines, "WINE_CONFIG_MAKEFILE([$file],[$rules]$args)\n";
} }
# update the source variables in all the makefiles # update the source variables in all the makefiles