summaryrefslogtreecommitdiff
path: root/source3/m4/check_gnu_make.m4
diff options
context:
space:
mode:
Diffstat (limited to 'source3/m4/check_gnu_make.m4')
-rw-r--r--source3/m4/check_gnu_make.m478
1 files changed, 78 insertions, 0 deletions
diff --git a/source3/m4/check_gnu_make.m4 b/source3/m4/check_gnu_make.m4
new file mode 100644
index 0000000000..44e1d9aa20
--- /dev/null
+++ b/source3/m4/check_gnu_make.m4
@@ -0,0 +1,78 @@
+##### http://autoconf-archive.cryp.to/check_gnu_make.html
+#
+# SYNOPSIS
+#
+# CHECK_GNU_MAKE()
+#
+# DESCRIPTION
+#
+# This macro searches for a GNU version of make. If a match is found,
+# the makefile variable `ifGNUmake' is set to the empty string,
+# otherwise it is set to "#". This is useful for including a special
+# features in a Makefile, which cannot be handled by other versions
+# of make. The variable _cv_gnu_make_command is set to the command to
+# invoke GNU make if it exists, the empty string otherwise.
+#
+# Here is an example of its use:
+#
+# Makefile.in might contain:
+#
+# # A failsafe way of putting a dependency rule into a makefile
+# $(DEPEND):
+# $(CC) -MM $(srcdir)/*.c > $(DEPEND)
+#
+# @ifGNUmake@ ifeq ($(DEPEND),$(wildcard $(DEPEND)))
+# @ifGNUmake@ include $(DEPEND)
+# @ifGNUmake@ endif
+#
+# Then configure.in would normally contain:
+#
+# CHECK_GNU_MAKE()
+# AC_OUTPUT(Makefile)
+#
+# Then perhaps to cause gnu make to override any other make, we could
+# do something like this (note that GNU make always looks for
+# GNUmakefile first):
+#
+# if ! test x$_cv_gnu_make_command = x ; then
+# mv Makefile GNUmakefile
+# echo .DEFAULT: > Makefile ;
+# echo \ $_cv_gnu_make_command \$@ >> Makefile;
+# fi
+#
+# Then, if any (well almost any) other make is called, and GNU make
+# also exists, then the other make wraps the GNU make.
+#
+# LAST MODIFICATION
+#
+# 2002-01-04
+#
+# COPYLEFT
+#
+# Copyright (c) 2002 John Darrington <j.darrington@elvis.murdoch.edu.au>
+#
+# Copying and distribution of this file, with or without
+# modification, are permitted in any medium without royalty provided
+# the copyright notice and this notice are preserved.
+
+AC_DEFUN(
+ [CHECK_GNU_MAKE], [ AC_CACHE_CHECK( for GNU make,_cv_gnu_make_command,
+ _cv_gnu_make_command='' ;
+dnl Search all the common names for GNU make
+ for a in "$MAKE" make gmake gnumake ; do
+ if test -z "$a" ; then continue ; fi ;
+ if ( sh -c "$a --version" 2> /dev/null | grep GNU 2>&1 > /dev/null ) ; then
+ _cv_gnu_make_command=$a ;
+ break;
+ fi
+ done ;
+ ) ;
+dnl If there was a GNU version, then set @ifGNUmake@ to the empty string, '#' otherwise
+ if test "x$_cv_gnu_make_command" != "x" ; then
+ ifGNUmake='' ;
+ else
+ ifGNUmake='#' ;
+ AC_MSG_RESULT("Not found");
+ fi
+ AC_SUBST(ifGNUmake)
+] )