summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/build/m4/check_make.m429
-rw-r--r--source4/build/smb_build/main.pl2
-rw-r--r--source4/rules.mk14
3 files changed, 15 insertions, 30 deletions
diff --git a/source4/build/m4/check_make.m4 b/source4/build/m4/check_make.m4
index d7799649a7..f497684453 100644
--- a/source4/build/m4/check_make.m4
+++ b/source4/build/m4/check_make.m4
@@ -6,35 +6,26 @@ dnl Released under the GNU GPL
dnl -------------------------------------------------------
dnl
-AC_PATH_PROG(MAKE,make)
+AC_PATH_PROGS(MAKE,gmake make)
AC_CACHE_CHECK([whether we have GNU make], samba_cv_gnu_make, [
-if $ac_cv_path_MAKE --version | head -1 | grep GNU 2>/dev/null >/dev/null
+if ! $ac_cv_path_MAKE --version | head -1 | grep GNU 2>/dev/null >/dev/null
then
- samba_cv_gnu_make=yes
-else
- samba_cv_gnu_make=no
+ AC_MSG_ERROR([Unable to find GNU make])
fi
])
-GNU_MAKE=$samba_cv_gnu_make
-AC_SUBST(GNU_MAKE)
-
-if test "x$GNU_MAKE" = x"yes"; then
- AC_CACHE_CHECK([GNU make version], samba_cv_gnu_make_version,[
+AC_CACHE_CHECK([GNU make version], samba_cv_gnu_make_version,[
samba_cv_gnu_make_version=`$ac_cv_path_MAKE --version | head -1 | cut -d " " -f 3 2>/dev/null`
])
GNU_MAKE_VERSION=$samba_cv_gnu_make_version
AC_SUBST(GNU_MAKE_VERSION)
-fi
new_make=no
AC_MSG_CHECKING([for GNU make >= 3.81])
-if test x$GNU_MAKE = x"yes"; then
- if $PERL -e " \$_ = '$GNU_MAKE_VERSION'; s/@<:@^\d\.@:>@.*//g; exit (\$_ < 3.81);"; then
- new_make=yes
- fi
+if $PERL -e " \$_ = '$GNU_MAKE_VERSION'; s/@<:@^\d\.@:>@.*//g; exit (\$_ < 3.81);"; then
+ new_make=yes
fi
AC_MSG_RESULT($new_make)
automatic_dependencies=no
@@ -46,11 +37,3 @@ AC_ARG_ENABLE(automatic-dependencies,
[ automatic_dependencies=no ])
AC_MSG_RESULT($automatic_dependencies)
AC_SUBST(automatic_dependencies)
-
-FIRST_PREREQ="\$*.c"
-AC_SUBST(FIRST_PREREQ)
-
-if test x$GNU_MAKE = xyes; then
- FIRST_PREREQ="\$<"
-fi
-
diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl
index 6d4a7321a4..d2d3dc9c5c 100644
--- a/source4/build/smb_build/main.pl
+++ b/source4/build/smb_build/main.pl
@@ -92,4 +92,6 @@ cflags::create_cflags($OUTPUT, $config::config{srcdir},
summary::show($OUTPUT, \%config::config);
+print "To build Samba, run $config::config{MAKE}\n";
+
1;
diff --git a/source4/rules.mk b/source4/rules.mk
index 9791466712..62600e8d00 100644
--- a/source4/rules.mk
+++ b/source4/rules.mk
@@ -1,14 +1,14 @@
# Dependencies command
DEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.o) -MT $@ \
$(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
- $(CPPFLAGS) $(FIRST_PREREQ) -o $@
+ $(CPPFLAGS) $< -o $@
# Dependencies for host objects
HDEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.ho) -MT $@ \
$(HOSTCC_FLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
- $(CPPFLAGS) $(FIRST_PREREQ) -o $@
+ $(CPPFLAGS) $< -o $@
# Dependencies for precompiled headers
PCHDEPENDS = $(CC) -M -MG -MT include/includes.h.gch -MT $@ \
- $(CFLAGS) $(CPPFLAGS) $(FIRST_PREREQ) -o $@
+ $(CFLAGS) $(CPPFLAGS) $< -o $@
# $< is broken in older BSD versions:
# when $@ is foo/bar.o, $< could be torture/foo/bar.c
@@ -20,22 +20,22 @@ PCHDEPENDS = $(CC) -M -MG -MT include/includes.h.gch -MT $@ \
# Run a static analysis checker
CHECK = $(CC_CHECKER) $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
- $(PICFLAG) $(CPPLAGS) -c $(FIRST_PREREQ) -o $@
+ $(PICFLAG) $(CPPLAGS) -c $< -o $@
# Run the configured compiler
COMPILE = $(CC) $(CFLAGS) $(PICFLAG) \
`$(PERL) $(srcdir)/script/cflags.pl $@` \
$(CPPFLAGS) \
- -c $(FIRST_PREREQ) -o $@
+ -c $< -o $@
# Run the compiler for the build host
HCOMPILE = $(HOSTCC) $(HOSTCC_FLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
- $(CPPFLAGS) -c $(FIRST_PREREQ) -o $@
+ $(CPPFLAGS) -c $< -o $@
# Precompile headers
PCHCOMPILE = @$(CC) -Ilib/replace \
$(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
- $(PICFLAG) $(CPPFLAGS) -c $(FIRST_PREREQ) -o $@
+ $(PICFLAG) $(CPPFLAGS) -c $< -o $@
# Partial linking
PARTLINK = @$(PROG_LD) -r