summaryrefslogtreecommitdiff
path: root/source3/m4/depout.m4
diff options
context:
space:
mode:
authorJames Peach <jpeach@samba.org>2007-04-22 03:17:31 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:19:34 -0500
commit821bf2bd7278da4e71fcdcfc03348a712cd0fc90 (patch)
treec1478a5a9dea7e473b0c00ec7b53543be963b045 /source3/m4/depout.m4
parentd27d6e822ecd90ebddf59121c2051b693b6b0f90 (diff)
downloadsamba-821bf2bd7278da4e71fcdcfc03348a712cd0fc90.tar.gz
samba-821bf2bd7278da4e71fcdcfc03348a712cd0fc90.tar.bz2
samba-821bf2bd7278da4e71fcdcfc03348a712cd0fc90.zip
r22441: Add automatic dependency tracking. The dependency generation is
toolchain independent, but since there's no portable method for doing makefile includes, we can actually use the dependencies with GNU make. It's easy to add this for other makes, but I don't have any to test. This also moves as much m4 as possible into the m4 directory where no-one has to look at it. AFAICT, there's no way to hide depcomp in there too, which is unfortunate. (This used to be commit aa14900f8291a017aa7fab2bbb9a6c79b12889b2)
Diffstat (limited to 'source3/m4/depout.m4')
-rw-r--r--source3/m4/depout.m468
1 files changed, 68 insertions, 0 deletions
diff --git a/source3/m4/depout.m4 b/source3/m4/depout.m4
new file mode 100644
index 0000000000..0d9717a100
--- /dev/null
+++ b/source3/m4/depout.m4
@@ -0,0 +1,68 @@
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])