summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2009-01-21 17:21:45 +0100
committerJelmer Vernooij <jelmer@samba.org>2009-01-21 17:21:45 +0100
commit2c1d70ab79ef3ae9de8074cae7e11cfaa1a84810 (patch)
tree5e706e7f59a9b145f71a829fd8fcfa5780d82af9
parent3a4e61ecd809ceccced6e863a27b53264eee3efe (diff)
downloadsamba-2c1d70ab79ef3ae9de8074cae7e11cfaa1a84810.tar.gz
samba-2c1d70ab79ef3ae9de8074cae7e11cfaa1a84810.tar.bz2
samba-2c1d70ab79ef3ae9de8074cae7e11cfaa1a84810.zip
Automagically expand includes in Makefile.in during configure time
when make is not GNU Make.
-rw-r--r--source3/configure.in18
-rwxr-xr-xsource3/script/expand-includes.pl25
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);