Makefile: Make object targets depend on Makefiles
authorJan Janak <jan@ryngle.com>
Thu, 19 Nov 2009 00:37:25 +0000 (01:37 +0100)
committerCarl Worth <cworth@cworth.org>
Fri, 20 Nov 2009 12:44:09 +0000 (13:44 +0100)
All objects need to be recompiled when any of the Makefiles changes, so
we make them all depend on all the Makefiles.

Signed-off-by: Jan Janak <jan@ryngle.com>
Makefile

index 0411cbbed663c933fad48d434d9168ea4508995e..b6861e9c665c97055499dc28c6f1c82a5188e73e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -13,6 +13,9 @@ ifeq ($(emacs_lispdir),)
        emacs_lispdir = $(prefix)/share/site-lisp
 endif
 
+all_deps = Makefile Makefile.local Makefile.config \
+                  lib/Makefile lib/Makefile.local
+
 # Now smash together user's values with our extra values
 override CFLAGS += $(WARN_FLAGS) $(extra_cflags)
 override CXXFLAGS += $(WARN_FLAGS) $(extra_cflags) $(extra_cxxflags)
@@ -28,22 +31,22 @@ include lib/Makefile.local
 # And get user settings from the output of configure
 include Makefile.config
 
-%.o: %.cc
+%.o: %.cc $(all_deps)
        $(CXX) -c $(CFLAGS) $(CXXFLAGS) $< -o $@
 
-%.o: %.c
+%.o: %.c $(all_deps)
        $(CC) -c $(CFLAGS) $< -o $@
 
 %.elc: %.el
        emacs -batch -f batch-byte-compile $<
 
-.deps/%.d: %.c
+.deps/%.d: %.c $(all_deps)
        @set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
        $(CC) -M $(CPPFLAGS) $(CFLAGS) $< > $@.$$$$; \
        sed 's,'$$(basename $*)'\.o[ :]*,$*.o $@ : ,g' < $@.$$$$ > $@; \
        rm -f $@.$$$$
 
-.deps/%.d: %.cc
+.deps/%.d: %.cc $(all_deps)
        @set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
        $(CXX) -M $(CPPFLAGS) $(CXXFLAGS) $< > $@.$$$$; \
        sed 's,'$$(basename $*)'\.o[ :]*,$*.o $@ : ,g' < $@.$$$$ > $@; \