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
本博客内容均来自网络,如有雷同,是我抄袭!
浙公网安备 33010602011771号