summaryrefslogtreecommitdiff
path: root/source4/rules.mk
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-02-09 16:41:44 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-02-09 16:41:44 +0100
commit9fccd8361320e82a7819e73f44bc62cf37f88c60 (patch)
tree07c9719dd92901247c2474c0787b4f56e92eb624 /source4/rules.mk
parentc60d0a10ea9086dc58aa70386860ead0522c1c68 (diff)
downloadsamba-9fccd8361320e82a7819e73f44bc62cf37f88c60.tar.gz
samba-9fccd8361320e82a7819e73f44bc62cf37f88c60.tar.bz2
samba-9fccd8361320e82a7819e73f44bc62cf37f88c60.zip
Move some static makefile variables to rules.mk.
(This used to be commit 3c64fc7dc631a79154957e45f8961e2ee519743f)
Diffstat (limited to 'source4/rules.mk')
-rw-r--r--source4/rules.mk39
1 files changed, 39 insertions, 0 deletions
diff --git a/source4/rules.mk b/source4/rules.mk
index 0c4114a08e..4548bfbade 100644
--- a/source4/rules.mk
+++ b/source4/rules.mk
@@ -1,3 +1,42 @@
+# Dependencies command
+DEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.o) -MT $@ \
+ $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
+ $(CPPFLAGS) $(FIRST_PREREQ) -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 $@
+# Dependencies for precompiled headers
+PCHDEPENDS = $(CC) -M -MG -MT include/includes.h.gch -MT $@ \
+ $(CFLAGS) $(CPPFLAGS) $(FIRST_PREREQ) -o $@
+
+# $< is broken in older BSD versions:
+# when $@ is foo/bar.o, $< could be torture/foo/bar.c
+# if it also exists. So better use $* which is foo/bar
+# and append .c manually to get foo/bar.c
+#
+# If we have GNU Make, it is safe to use $<, which also lets
+# building with $srcdir != $builddir work.
+
+# Run a static analysis checker
+CHECK = $(CC_CHECKER) $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
+ $(PICFLAG) $(CPPLAGS) -c $(FIRST_PREREQ) -o $@
+
+# Run the configured compiler
+COMPILE = $(CC) $(CFLAGS) $(PICFLAG) \
+ `$(PERL) $(srcdir)/script/cflags.pl $@` \
+ $(CPPFLAGS) \
+ -c $(FIRST_PREREQ) -o $@
+
+# Run the compiler for the build host
+HCOMPILE = $(HOSTCC) $(HOSTCC_FLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
+ $(CPPFLAGS) -c $(FIRST_PREREQ) -o $@
+
+# Precompile headers
+PCHCOMPILE = @$(CC) -Ilib/replace \
+ $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
+ $(PICFLAG) $(CPPFLAGS) -c $(FIRST_PREREQ) -o $@
+
include/config.h:
@echo "include/config.h not present"
@echo "You need to rerun ./autogen.sh and ./configure"