default : opt opt : $(LIB:=.opt) \ $(EXEC:=.opt) \ debug : $(LIB:=.dbg) \ $(EXEC:=.dbg) \ static: $(LIB:=.static) \ $(EXEC:=.opt) \ staticdebug: $(LIB:=.staticdbg) \ $(EXEC:=.dbg) cleandepend : cleandependopt cleandependdbg cleandependopt : @[ -d $(OPTDIR) ] && cd $(OPTDIR); rm -f Makedepend; rm -rf .depend cleandependdbg : @[ -d $(DEBUGDIR) ] && cd $(DEBUGDIR); rm -f Makedepend; rm -rf .depend cleantarget : cleantargetopt cleantargetdbg cleantargetopt : @[ -d $(OPTDIR) ] && cd $(OPTDIR); rm -f $(EXEC)$(EXE_EXT) $(LIB).$(LIB_EXT) cleantargetdbg : @[ -d $(DEBUGDIR) ] && cd $(DEBUGDIR); rm -f $(EXEC)$(EXE_EXT) $(LIB).$(LIB_EXT) clean : cleanopt cleandbg cleanopt : @[ -d $(OPTDIR) ] && cd $(OPTDIR); rm -f $(OBJS) Makedepend; rm -rf .depend cleandbg : @[ -d $(DEBUGDIR) ] && cd $(DEBUGDIR); rm -f $(OBJS) Makedepend; rm -rf .depend clobber : clobberdbg clobberopt clobberopt : rm -rf $(OPTDIR) clobberdbg : rm -rf $(DEBUGDIR) $(EXEC): $(OBJS) $(CXX) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ $(LIB) : $(OBJS) $(CXX) $(LDFLAGS) $(SHARED) $(OBJS) $(LIBS) -o $@.$(LIB_EXT) $(STATICLIB): $(OBJS) ar rv $@ $? $(EXEC:=.dbg) : @[ -d $(DEBUGDIR) ] || mkdir $(DEBUGDIR) @cd $(DEBUGDIR); \ $(MAKE) -f ../GNUmakefile "DOF=$(DBGF)" TOPDIR=../${TOPDIR} \ THISDIR=../$(THISDIR) \ MAKEDEPEND=Makedepend $(EXEC) @$(MAKE) LNSRC=$(DEBUGDIR)/$(EXEC)$(EXE_EXT) LNDEST=$(BININST)/$(OS)$(ARCH)/$(EXEC)$(EXE_EXT) __link $(LIB:=.dbg) : @[ -d $(DEBUGDIR) ] || mkdir $(DEBUGDIR) @cd $(DEBUGDIR); \ $(MAKE) -f ../$(MAKEFILE) "DOF=$(DBGF)" TOPDIR=../${TOPDIR} \ THISDIR=../$(THISDIR) \ MAKEDEPEND=Makedepend $(LIB) @$(MAKE) LNSRC=$(DEBUGDIR)/$(LIB).$(LIB_EXT) LNDEST=$(LIBINST)/$(OS)$(ARCH)/$(LIB).$(LIB_EXT) __link ifdef IMP_LIB_EXT @$(MAKE) LNSRC=$(DEBUGDIR)/lib$(TARGET_BASENAME).$(IMP_LIB_EXT) LNDEST=$(LIBINST)/$(OS)$(ARCH)/lib$(TARGET_BASENAME).$(IMP_LIB_EXT) __link endif $(LIB:=.staticdbg) : [ -d $(DEBUGDIR) ] || mkdir $(DEBUGDIR) cd $(DEBUGDIR); \ $(MAKE) -f ../$(MAKEFILE) "DOF=$(DBGF)" TOPDIR=../${TOPDIR} \ THISDIR=../$(THISDIR) \ MAKEDEPEND=Makedepend $(STATICLIB) @$(MAKE) LNSRC=$(DEBUGDIR)/$(STATICLIB) LNDEST=$(LIBINST)/$(OS)$(ARCH)/$(STATICLIB) __link $(EXEC:=.opt) : @[ -d $(OPTDIR) ] || mkdir $(OPTDIR) @cd $(OPTDIR); \ $(MAKE) -f ../GNUmakefile DOF=$(OPTF) TOPDIR=../${TOPDIR} \ THISDIR=../$(THISDIR) \ MAKEDEPEND=Makedepend $(EXEC) @$(MAKE) LNSRC=$(OPTDIR)/$(EXEC)$(EXE_EXT) LNDEST=$(BININST)/$(OS)$(ARCH)/$(EXEC)$(EXE_EXT) __link $(LIB:=.opt) : @[ -d $(OPTDIR) ] || mkdir $(OPTDIR) @cd $(OPTDIR); \ $(MAKE) -f ../$(MAKEFILE) DOF=$(OPTF) TOPDIR=../${TOPDIR} \ THISDIR=../$(THISDIR) \ MAKEDEPEND=Makedepend $(LIB) @$(MAKE) LNSRC=$(OPTDIR)/$(LIB).$(LIB_EXT) LNDEST=$(LIBINST)/$(OS)$(ARCH)/$(LIB).$(LIB_EXT) __link ifdef IMP_LIB_EXT @$(MAKE) LNSRC=$(OPTDIR)/lib$(TARGET_BASENAME).$(IMP_LIB_EXT) LNDEST=$(LIBINST)/$(OS)$(ARCH)/lib$(TARGET_BASENAME).$(IMP_LIB_EXT) __link endif $(LIB:=.static) : [ -d $(OPTDIR) ] || mkdir $(OPTDIR) cd $(OPTDIR); \ $(MAKE) -f ../$(MAKEFILE) DOF=$(OPTF) TOPDIR=../${TOPDIR} \ THISDIR=../$(THISDIR) \ MAKEDEPEND=Makedepend $(STATICLIB) @$(MAKE) LNSRC=$(OPTDIR)/$(STATICLIB) LNDEST=$(LIBINST)/$(OS)$(ARCH)/$(STATICLIB) __link Makedepend : $(CXXFILES) $(CFILES) ifeq ($(OS),IRIX) touch $@ else @ touch $@ @if [ ! -d .depend ] ; then \ mkdir .depend; \ depfiles="$+"; \ else \ depfiles="$?"; \ fi; \ if [ ! -z "$$depfiles" ]; then \ for f in $$depfiles; do \ echo "$(CXX) $(DEPARG) $(INC) $(DEF) $$f redirectto .depend/`basename $$f`"; \ $(CXX) $(DEPARG) $(INC) $(DEF) $$f > .depend/`basename $$f`; \ grep $$f $@ || echo include .depend/`basename $$f` >> Makedepend ; \ done; \ fi endif .SUFFIXES: .cpp .o .cpp.o: $(CXX) $(CXXFLAGS) -c $< depend : $(MAKEDEPEND) __link : @sh $(TOPDIR)/Make/dolink.sh $(TOPDIR) $(LNSRC) $(LNDEST) "$(LINK)" __instfiles : @echo $(INSTFILES) sinclude $(MAKEDEPEND)