TOPDIR ?= . CURRENTDIR ?= . DISTLIST ?= dist.list -include $(TOPDIR)/config.mk ifndef NODEPS %.dep: %.c @echo Generating dependencies for $< @$(CC) $(CPPFLAGS) -M $< | \ sed 's/\($*\)\.o[ :]*/\1.o \1.dbg.o $@ : /g' > $@; %.dep: %.cc @echo Generating dependencies for $< @echo ifndef NODEPS > $@ @$(CXX) $(CPPFLAGS) -M $< | \ sed 's?$(notdir $*)\.o[ :]*?$*.o $*.dbg.o $@ : ?g' >> $@; @echo endif >> $@ endif #%.o: %.rf Makefile $(TOPDIR)/config.mk # $(RFPC) $< %.o: %.c Makefile $(TOPDIR)/config.mk $(CC) $(CPPFLAGS) $(WFLAGS) $(OFLAGS) $(CFLAGS) -c -o $@ $< %.o: %.cc Makefile $(TOPDIR)/config.mk $(CXX) $(CPPFLAGS) $(WFLAGS) $(OFLAGS) $(CFLAGS) $(CXXFLAGS) -c -o $@ $< %.dbg.o: %.c Makefile $(TOPDIR)/config.mk $(CC) $(CPPFLAGS) $(WFLAGS) $(DFLAGS) $(CFLAGS) -c -o $@ $< %.dbg.o: %.cc Makefile $(TOPDIR)/config.mk $(CXX) $(CPPFLAGS) $(WFLAGS) $(DFLAGS) $(CFLAGS) $(CXXFLAGS) -c -o $@ $< DO_SUBDIRS=$(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) \ TOPDIR=$(TOPDIR)/.. INSTALL_DIR=$(INSTALL_DIR) $@ \ CURRENTDIR=$(CURRENTDIR)/$(dir) DISTNAME="$(DISTNAME)" \ || exit 1; ) DO_SUBDIRS_NODEPS=$(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) NODEPS=yes \ TOPDIR=$(TOPDIR)/.. INSTALL_DIR=$(INSTALL_DIR) $@ \ CURRENTDIR=$(CURRENTDIR)/$(dir) DISTNAME="$(DISTNAME)" \ || exit 1; ) all:: $(DO_SUBDIRS) clean:: $(DO_SUBDIRS_NODEPS) rm -f core distclean:: clean $(DO_SUBDIRS_NODEPS) dist:: if [ -f "$(DISTLIST)" ]; then rm $(DISTLIST); fi $(DO_SUBDIRS) echo $(foreach file, $(DISTFILES), $(CURRENTDIR)/$(file)) \ >>$(TOPDIR)/$(DISTLIST) snapshot:: if [ -f "$(DISTLIST)" ]; then rm $(DISTLIST); fi $(DO_SUBDIRS) echo $(foreach file, $(DISTFILES), $(CURRENTDIR)/$(file)) \ >>$(TOPDIR)/$(DISTLIST) check:: all $(DO_SUBDIRS) docs:: all $(DO_SUBDIRS) publish:: all $(DO_SUBDIRS) install:: all $(DO_SUBDIRS) uninstall:: $(DO_SUBDIRS) .PHONY: all check install uninstall clean dist snapshot distclean