PREFIX := /usr/local/gcc-3.0/bin/ CC := $(PREFIX)gcc CXX := $(PREFIX)g++ CFLAGS := -pipe -Wall -W -g -DDEBUG -D_REENTRANT CXXFLAGS := -pipe -Wall -W -g -frepo -DDEBUG -D_REENTRANT INCPATH := LINK := $(PREFIX)g++ LFLAGS := -frepo LIBS := -lpthread TAR := tar -cf GZIP := gzip -9f BZIP := bzip2 RM := rm -vf TAG := ctags # FILE THAT STORES THE DEPENDENCIES AND IS INCLUDED IN THE MAKEFILE AUTOMATICALLY DEPS := Makefile.dep # FLAG HOW TO GENERATE THE DEPENDENCIES ( '-M' generates all dependencies '-MM' generates only dependencies of user created source # files DEP_FLAG := -MM HEADERS := $(wildcard *.h) SOURCES := $(wildcard *.cpp) $(wildcard *.cc) OBJECTS := $(patsubst %.cpp,%.o,$(patsubst %.cc,%.o,$(SOURCES))) TARGET := stringToken ####### Implicit rules .SUFFIXES: .cpp .cxx .cc .C .c .cpp.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< .cxx.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< .cc.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< .C.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< .c.o: $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< ####### Build rules .PHONY : all depend objects clean proper world all : $(TARGET) $(TARGET): $(OBJECTS) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) depend : $(CXX) $(DEP_FLAG) $(SOURCES) > $(DEPS) objects : $(OBJECTS) clean : $(RM) $(TARGET) $(RM) $(OBJECTS) $(RM) *.d $(RM) *~ core proper: clean $(RM) *.a $(RM) *.bak $(RM) *.old $(RM) *.rpo $(RM) $(DEPS) $(RM) tags $(RM) *~ tags: $(TAG) * world: proper tags depend all -include $(DEPS)