# HG changeset patch # User tron # Date 1106669406 0 # Node ID 1cd3103acd667c19a932245e8e73bc86e7383175 # Parent 30e8657f61d06e538c9dbef4a6b9931af89de8fc (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too. Note: Do "make clean" to get rid of the old dependency files diff -r 30e8657f61d0 -r 1cd3103acd66 Makefile --- a/Makefile Tue Jan 25 16:03:45 2005 +0000 +++ b/Makefile Tue Jan 25 16:10:06 2005 +0000 @@ -667,8 +667,7 @@ CXX_SOURCES += w32dm2.cpp endif -DEPS1 = $(foreach obj,$(OBJS),.deps/$(obj)) -DEPS = $(DEPS1:%.o=%.P) +DEPS = $(OBJS:%.o=.deps/%.d) LANG_TXT = $(filter-out %.unfinished.txt,$(wildcard lang/*.txt)) LANGS = $(LANG_TXT:%.txt=%.lng) @@ -912,20 +911,19 @@ # first compilation round as we just build everything at that time anyway, # therefore we do not need to watch deps. - %.o: %.c $(MAKE_CONFIG) endian.h table/strings.h @echo '===> Compiling $<' - @$(CC) $(CFLAGS) $(CDEFS) -Wp,-MD,.deps/$(*F).pp -c $< -o $@ - @-cp .deps/$(*F).pp .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm .deps/$(*F).pp + @$(CC) $(CFLAGS) $(CDEFS) -MD -c $< -o $@ + @mv $(<:%.c=%.d) $(<:%.c=.deps/%.d) -# For DirectMusic build and BeOS specific parts %.o: %.cpp $(MAKE_CONFIG) endian.h table/strings.h @echo '===> Compiling $<' - @$(CXX) $(CFLAGS) $(CDEFS) -c $< -o $@ + @$(CXX) $(CFLAGS) $(CDEFS) -MD -c $< -o $@ + @mv $(<:%.c=%.d) $(<:%.c=.deps/%.d) + +# Silence stale header dependencies +%.h: + @true info: