r25187: pass FIRST_PREREQ to Makefile so that the value can be used
authorStefan Metzmacher <metze@samba.org>
Sun, 16 Sep 2007 14:08:08 +0000 (14:08 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 20:06:48 +0000 (15:06 -0500)
in handwritten rules too, hopefully fix the build
of ldb with bsd make.

metze

source/build/smb_build/makefile.pm
source/dynconfig.mk
source/lib/ldb/config.mk

index 39ae54bba7a028398ebf6535d0725a4b1cfa7720..98b7e41306af26f21fab1344133f2c20ed3c146c 100644 (file)
@@ -114,17 +114,19 @@ sub _prepare_suffix_rules($)
        }
 
        $self->output(<< "__EOD__"
+FIRST_PREREQ = $first_prereq
+
 # Dependencies command
 DEPENDS = \$(CC) -M -MG -MP -MT \$(<:.c=.o) -MT \$@ \\
     `\$(PERL) \$(srcdir)/script/cflags.pl \$@` \\
-    \$(CFLAGS) $first_prereq -o \$@
+    \$(CFLAGS) \$(FIRST_PREREQ) -o \$@
 # Dependencies for host objects
 HDEPENDS = \$(CC) -M -MG -MP -MT \$(<:.c=.ho) -MT \$@ \\
     `\$(PERL) \$(srcdir)/script/cflags.pl \$@` \\
-    \$(HOSTCC_CFLAGS) $first_prereq -o \$@
+    \$(HOSTCC_CFLAGS) \$(FIRST_PREREQ) -o \$@
 # Dependencies for precompiled headers
 PCHDEPENDS = \$(CC) -M -MG -MT include/includes.h.gch -MT \$@ \\
-    \$(CFLAGS) $first_prereq -o \$@
+    \$(CFLAGS) \$(FIRST_PREREQ) -o \$@
 
 # \$< is broken in older BSD versions:
 # when \$@ is foo/bar.o, \$< could be torture/foo/bar.c
@@ -136,20 +138,20 @@ PCHDEPENDS = \$(CC) -M -MG -MT include/includes.h.gch -MT \$@ \\
 
 # Run a static analysis checker
 CHECK = \$(CC_CHECKER) `\$(PERL) \$(srcdir)/script/cflags.pl \$@` \\
-    \$(CFLAGS) \$(PICFLAG) -c $first_prereq -o \$@
+    \$(CFLAGS) \$(PICFLAG) -c \$(FIRST_PREREQ) -o \$@
 
 # Run the configured compiler
 COMPILE = \$(CC) `\$(PERL) \$(srcdir)/script/cflags.pl \$@` \\
-    \$(CFLAGS) \$(PICFLAG) -c $first_prereq -o \$@
+    \$(CFLAGS) \$(PICFLAG) -c \$(FIRST_PREREQ) -o \$@
 
 # Run the compiler for the build host
 HCOMPILE = \$(HOSTCC) `\$(PERL) \$(srcdir)/script/cflags.pl \$@` \\
-    \$(HOSTCC_CFLAGS) -c $first_prereq -o \$@
+    \$(HOSTCC_CFLAGS) -c \$(FIRST_PREREQ) -o \$@
 
 # Precompile headers
 PCHCOMPILE = @\$(CC) -Ilib/replace \\
     `\$(PERL) \$(srcdir)/script/cflags.pl \$@` \\
-    \$(CFLAGS) \$(PICFLAG) -c $first_prereq -o \$@
+    \$(CFLAGS) \$(PICFLAG) -c \$(FIRST_PREREQ) -o \$@
 
 __EOD__
 );
index b86f441372ff614256000598e945be043e603d9d..1840ededaca2c0bd32f9d1be5297d8564fe8d320 100644 (file)
@@ -21,4 +21,5 @@ PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" \
 
 dynconfig.o: dynconfig.c Makefile
        @echo Compiling $<
-       @$(CC) `$(PERL) $(srcdir)/script/cflags.pl $@` $(CFLAGS) $(PICFLAG) $(PATH_FLAGS) -c $< -o $@
+       @$(CC) `$(PERL) $(srcdir)/script/cflags.pl $@` $(CFLAGS) $(PICFLAG) \
+               $(PATH_FLAGS) -c $(FIRST_PREREQ) -o $@
index 6ac57d05f245e83ed3c5d6960f9008883cf988f5..d66c958fc0eb9adb9bd88edcf3ca31988bbb6bd5 100644 (file)
@@ -123,19 +123,17 @@ PRIVATE_DEPENDENCIES = \
 # End MODULE ldb_tdb
 ################################################
 
-# NOTE: this rule is broken for some systems when $builddir != $srcdir because
-# it hardcodes the use of $<. See smb_build/makefile.pm.
 ./lib/ldb/common/ldb_modules.o: lib/ldb/common/ldb_modules.c Makefile
        @echo Compiling $<
        @$(CC) `$(PERL) $(srcdir)/script/cflags.pl $@` $(CFLAGS) $(PICFLAG) \
        -DSHLIBEXT=\"$(SHLIBEXT)\" \
-       -c $< -o $@
+       -c $(FIRST_PREREQ) -o $@
 
 ./lib/ldb/common/ldb.o: lib/ldb/common/ldb.c Makefile
        @echo Compiling $<
        @$(CC) `$(PERL) $(srcdir)/script/cflags.pl $@` $(CFLAGS) $(PICFLAG) \
        -DLDB_MODULESDIR=\"$(MODULESDIR)/ldb\" \
-       -c $< -o $@
+       -c $(FIRST_PREREQ) -o $@
 
 
 ################################################