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 \