MAKE=make AR=ar ARFLAGS=-rv AS=as ASFLAGS=-mips4 -64 YACC=yacc YFLAGS= LEX=lex LFLAGS= LDFLAGS= CC=gcc CFLAGS=-O FC=fort77 FFLAGS=-O 1 GET=get GFLAGS= SCCSFLAGS= SCCSGETFLAGS=-s RM=rm CP=gcc MKDIR=mkdir -p CHMOD=chmod SHELL = /bin/sh ASSOURCES=$(wildcard *.s) ASOBJ=$(patsubst %.s,$(CFG)/%.o,$(ASSOURCES)) SOURCES=$(wildcard *.cpp) SOURCES+=$(wildcard *.cxx) OBJ_=$(patsubst %.cpp,$(CFG)/%.obj,$(SOURCES)) OBJ=$(patsubst %.cxx,$(CFG)/%.objx,$(OBJ_)) ifeq ($(CFG),) CFG=debug endif ifeq ($(CFG),release) DBG_FLAG= DEPENDENCIES= OUTDIR=$(CFG) TARGETNAME=$(OUTDIR)/ffff CCFLAGS= -O3 LINKFLAGS= -L/usr/X11R6/lib -lglut -lGL -lXext -lX11 -lXmu -lGLU -lpthread -lm else DBG_FLAG= DEPENDENCIES= OUTDIR=$(CFG) TARGETNAME=$(OUTDIR)/ffff CCFLAGS= -ggdb3 LINKFLAGS= -L/usr/X11R6/lib -lglut -lGL -lXext -lX11 -lXmu -lGLU -lpthread -lm endif ifneq ($(DEPENDENCIES),) DEPM=$(foreach d,$(DEPENDENCIES),$(join $(dir $(d)), Makefile)) DEPB=$(patsubst %,%.build, $(DEPM)) DEPC=$(patsubst %,%.clean, $(DEPM)) endif %.build : % -cd $(dir $<) && $(MAKE) -f $(notdir $<) CFG=$(CFG) %.clean : % -cd $(dir $<) && $(MAKE) -f $(notdir $<) CFG=$(CFG) clean all: deps binaries deps: $(DEPB) binaries: $(OUTDIR) $(TARGETNAME) $(CHMOD) -R a+rw $(OUTDIR) ifeq ($(CFG),release) strip $(TARGETNAME) endif clean-deps: $(DEPC) $(CFG)/%.obj : %.cpp cc -c $(CCFLAGS) $< -o $@ $(CFG)/%.objx : %.cxx cc -c $(CCFLAGS) $< -o $@ $(CFG)/%.o : %.s as $(ASFLAGS) $< -o $@ $(OUTDIR): -$(MKDIR) $(OUTDIR) $(TARGETNAME): $(CFG) $(OBJ) $(DEPENDENCIES) cc -o $@ $(OBJ) $(DEPENDENCIES) $(LINKFLAGS) rebuild: clean all clean: clean-deps -rm -rf core -rm -rf $(TARGETNAME) -rm -rf $(CFG)