diff options
-rw-r--r-- | source3/configure.in | 18 | ||||
-rwxr-xr-x | source3/script/expand-includes.pl | 25 |
2 files changed, 42 insertions, 1 deletions
diff --git a/source3/configure.in b/source3/configure.in index 4191915f96..f1004778f4 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -6374,7 +6374,17 @@ else fi fi -AC_OUTPUT(Makefile +AC_SUBST(MAKEFILE) +if test x$samba_cv_gnu_make = xyes; then + MAKEFILE=Makefile +else + # When we don't have GNU Make, generate a copy of Makefile.in + # that doesn't have the "include " statements but just includes + # the files verbatim. + MAKEFILE=Makefile-noincludes + $PERL ./script/expand-includes.pl Makefile.in > $MAKEFILE.in +fi +AC_OUTPUT($MAKEFILE script/findsmb smbadduser script/gen-8bit-gap.sh script/installbin.sh script/uninstallbin.sh lib/netapi/examples/Makefile lib/netapi/tests/Makefile @@ -6384,6 +6394,12 @@ AC_OUTPUT(Makefile pkgconfig/smbsharemodes.pc ../examples/libsmbclient/Makefile.internal ) +dnl If we had to expand the includes, make tsure the output file is moved back +AC_OUTPUT_COMMANDS([ +if test x$MAKEFILE != Makefile; then + mv $MAKEFILE Makefile +fi +]) ################################################# # Print very concise instructions on building/use diff --git a/source3/script/expand-includes.pl b/source3/script/expand-includes.pl new file mode 100755 index 0000000000..da64363081 --- /dev/null +++ b/source3/script/expand-includes.pl @@ -0,0 +1,25 @@ +#!/usr/bin/perl +# Expand the include lines in a Makefile +# Copyright (C) 2009 Jelmer Vernooij <jelmer@samba.org> +# Published under the GNU GPLv3 or later + +sub process($) +{ + my ($f) = @_; + open(IN, $f) or die("Unable to open $f: $!"); + foreach (<IN>) { + my $l = $_; + if ($l =~ /^include (.*)$/) { + process($1); + } else { + print $l; + } + } +} + +my $path = shift; +unless ($path) { + print STDERR "Usage: $0 Makefile.in > Makefile-noincludes.in\n"; + exit(1); +} +process($path); |