From 5447b4cdb4eb3f1c99d7abd2267650a5192fb0f3 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Sat, 4 Mar 2006 13:41:35 +0000 Subject: [PATCH] depend.mk, rules.mk: Fix dependency checking Fix dependency checking, create seperate depfiles for every object file. --- make/depend.mk | 17 ++++++++++++++--- make/rules.mk | 14 +++++++++----- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/make/depend.mk b/make/depend.mk index 9da5eb6d..fc95e7c0 100644 --- a/make/depend.mk +++ b/make/depend.mk @@ -1,11 +1,22 @@ DEPEND_CFLAGS += -D__MAKEDEPEND__ DEPEND_CPPFLAGS += -D__MAKEDEPEND__ -all.done: depend.mk + +DEPEND_MK = $(addprefix .,$(addsuffix .dep.mk, $(OBJ))) ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),distclean) --include depend.mk + +ifneq ($(DEPEND_MK),) +-include $(DEPEND_MK) +endif + endif endif -clean: depclean +clean: depclean my_depclean + +my_depclean: + rm -f .*.dep.mk + +%.o: .%.o.dep.mk + diff --git a/make/rules.mk b/make/rules.mk index d6a936dd..d9426325 100644 --- a/make/rules.mk +++ b/make/rules.mk @@ -187,12 +187,16 @@ endif #depend.mk: $(SRC_ALL_CPP) # > $@ && makedepend -f depend.mk -- $(CPPFLAGS) $(DEPEND_CPPFLAGS) -- $(SRC_ALL_CPP) 2>&1 | sed '/non-portable whitespace/ d' -depend.mk: $(filter-out %.h, $(SRC_ALL_CPP) $(PREREQ_DONE)) - > $@ && if [ "$(wildcard *.cpp *.c)" ]; then \ - gcc -M $(CPPFLAGS) $(DEPEND_CPPFLAGS) $(filter-out %.h,$(SRC_ALL_CPP)) -o $@; \ - fi +#depend.mk: $(filter-out %.h, $(SRC_ALL_CPP) $(PREREQ_DONE)) +# > $@ && if [ "$(wildcard *.cpp *.c)" ]; then \ +# gcc -M $(CPPFLAGS) $(DEPEND_CPPFLAGS) $(filter-out %.h,$(SRC_ALL_CPP)) -o $@; \ +# fi -depend: depend.mk +.%.o.dep.mk: %.cpp + gcc -M $(CPPFLAGS) $(DEPEND_CPPFLAGS) $< -o $@ + +.%.o.dep.mk: %.c + gcc -M $(CPPFLAGS) $(DEPEND_CPPFLAGS) $< -o $@ checkroot: @if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \