makefile模板
# Make command to use for dependencies RM=rm MKDIR=mkdir APP=gate LIB=-lpthread -lrt -ldl OBJDIR=../_obj/$(APP) EXEDIR=./bin INCDIR=-I../../lib/svrlib/include -I../../lib/tinyxml -I../include LIBDIR= TINYXML=../../lib/tinyxml EXEFILE=$(EXEDIR)/$(APP) SRC := $(wildcard *.cpp $(TINYXML)/*.cpp) OBJFILE := $(patsubst %.cpp, $(OBJDIR)/%.o, $(notdir ${SRC})) COMPILE=g++ -c -o "$(OBJDIR)/$(*F).o" $(INCDIR) -w "$<" LINK=g++ $(LIBDIR) -o "$(EXEFILE)" $(OBJFILE) $(LIB) # Pattern rules $(OBJDIR)/%.o : %.cpp $(COMPILE) $(OBJDIR)/%.o : ../../lib/tinyxml/%.cpp $(COMPILE) # Build rules all: $(EXEFILE) $(EXEFILE): $(OBJDIR) $(OBJFILE) $(MKDIR) -p $(EXEDIR) $(LINK) tar -xzvf ../../lib/svrlib/lib/centos/libsvr.tar.gz -C $(EXEDIR)/ sh modify_ver.sh *.rc $(EXEFILE) $(APP) $(OBJDIR): $(MKDIR) -p $(OBJDIR) # Rebuild this project rebuild: cleanall all # Clean this project clean: $(RM) -f $(EXEFILE) $(RM) -f $(OBJFILE) # Clean this project and all dependencies cleanall: clean
本博客内容均来自网络,如有雷同,是我抄袭!