TOPDIR ?= . CURRENTDIR ?= . DISTLIST ?= dist.list CONFIG = $(TOPDIR)/config.mk -include $(CONFIG) 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 #%.hh: %.rfi Makefile $(CONFIG) # $(RFPC) $(RFLAGS) -hh $< %.cc: %.rf Makefile $(CONFIG) $(RFPC) $(RFLAGS) -cc $< %.o: %.c Makefile $(CONFIG) $(CC) $(CPPFLAGS) $(WFLAGS) $(OFLAGS) $(CFLAGS) -c -o $@ $< %.o: %.cc Makefile $(CONFIG) $(CXX) $(CPPFLAGS) $(WFLAGS) $(OFLAGS) $(CFLAGS) $(CXXFLAGS) -c -o $@ $< %.dbg.o: %.c Makefile $(CONFIG) $(CC) $(CPPFLAGS) $(WFLAGS) $(DFLAGS) $(CFLAGS) -c -o $@ $< %.dbg.o: %.cc Makefile $(CONFIG) $(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_NODEPS) echo $(foreach file, $(DISTFILES), $(CURRENTDIR)/$(file)) \ >>$(TOPDIR)/$(DISTLIST) snapshot:: if [ -f "$(DISTLIST)" ]; then rm $(DISTLIST); fi $(DO_SUBDIRS_NODPES) echo $(foreach file, $(DISTFILES), $(CURRENTDIR)/$(file)) \ >>$(TOPDIR)/$(DISTLIST) docs:: all $(DO_SUBDIRS) samples:: all $(DO_SUBDIRS) tests:: all $(DO_SUBDIRS) check:: tests $(DO_SUBDIRS) publish:: all $(DO_SUBDIRS) install:: all $(DO_SUBDIRS) uninstall:: $(DO_SUBDIRS) .PHONY: all install uninstall clean dist snapshot distclean .PHONY: samples tests check