include $(TOPDIR)/include/builddefs
-clean clobber : $(SUBDIRS)
- rm -f $(DIRT)
- @rm -fr .libs
- $(SUBDIRS_MAKERULE)
+clean clobber : $(addsuffix -clean,$(SUBDIRS))
+ $(Q)rm -f $(DIRT)
+ $(Q)rm -fr .libs .ltdep .dep
+
+%-clean:
+ @echo "Cleaning $*"
+ $(Q)$(MAKE) $(MAKEOPTS) -q -C $* clean || $(MAKE) $(MAKEOPTS) -C $* clean
# Never blow away subdirs
ifdef SUBDIRS
.PRECIOUS: $(SUBDIRS)
+.PHONY: $(SUBDIRS)
+
$(SUBDIRS):
- $(SUBDIRS_MAKERULE)
+ @echo "Building $@"
+ $(Q)$(MAKE) $(MAKEOPTS) -q -C $@ || $(MAKE) $(MAKEOPTS) -C $@
endif
#
ifdef LTCOMMAND
$(LTCOMMAND) : $(SUBDIRS) $(OBJECTS) $(LTDEPENDENCIES)
- $(LTLINK) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS)
+ @echo " [LD] $*"
+ $(Q)$(LTLINK) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS)
endif
ifdef LTLIBRARY
$(LTLIBRARY) : $(SUBDIRS) $(LTOBJECTS)
- $(LTLINK) $(LTLDFLAGS) -o $(LTLIBRARY) $(LTOBJECTS) $(LTLIBS)
+ @echo " [LD] $*"
+ $(Q)$(LTLINK) $(LTLDFLAGS) -o $(LTLIBRARY) $(LTOBJECTS) $(LTLIBS)
%.lo: %.c
- $(LTCOMPILE) -c $<
+ @echo " [CC] $@"
+ $(Q)$(LTCOMPILE) -c $<
+else
+%.o: %.c
+ @echo " [CC] $@"
+ $(Q)$(CC) $(CFLAGS) -c $<
+
endif
ifdef POTHEAD
$(_FORCE):
-.PHONY : depend
+# dependency build is automatic, relies on gcc -MM to generate.
+.PHONY : depend ltdepend
-DEPENDSCRIPT := $(MAKEDEPEND) $(DEPENDFLAGS) -f - -- $(CFLAGS) -- $(CFILES) | \
- $(SED) -e 's,`pwd`,$(TOPDIR),g' \
- -e 's, */[^ ]*,,g' \
- -e '/^[^ ]*: *$$/d' \
- -e '/^ *$$/d'
+MAKEDEP := $(MAKEDEPEND) $(CFLAGS)
-ifdef LTLIBRARY
-DEPENDSCRIPT := $(DEPENDSCRIPT) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,'
-endif
+ltdepend: .ltdep
-depend : $(CFILES) $(HFILES)
- $(SUBDIRS_MAKERULE)
- $(DEPENDSCRIPT) > .dep
- test -s .dep || rm -f .dep
+.ltdep: $(CFILES) $(HFILES)
+ @echo " [LTDEP]"
+ $(Q)[ -n "$(CFILES)" ] && \
+ $(MAKEDEP) $(CFILES) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,' > .ltdep
+
+depend: .dep
+
+.dep: $(CFILES) $(HFILES)
+ @echo " [DEP]"
+ $(Q)[ -n "$(CFILES)" ] && \
+ $(MAKEDEP) $(CFILES) | $(SED) -e 's,^\([^:]*\)\.o,\1,' > .dep
-# Include dep, but only if it exists
-ifeq ($(shell test -f .dep && echo .dep), .dep)
-include .dep
-else
-ifdef LTLIBRARY
-$(LTOBJECTS): $(HFILES)
-else
-$(OBJECTS): $(HFILES)
-endif
-endif