一个非常高大上的Makefile,包括非常多语法:
TARGET = api-login
INSTALL_PATH = /huishoubao/cgiinclude ../../implements/log/Makefile.log
include ../../implements/tools/Makefile.tools
include ../../implements/db/Makefile.db
include ../../implements/configure/Makefile.configure
include ../../implements/protocol/Makefile.protocol
include ../../implements/user/Makefile.user
include ../../implements/logic/Makefile.logicvpath %.cpp ../../implements/log
vpath %.cpp ../../implements/tools
vpath %.cpp ../../implements/db
vpath %.cpp ../../implements/configure
vpath %.cpp ../../implements/protocol
vpath %.cpp ../../implements/user
vpath %.cpp ../../implements/logicINCLUDES = -I/usr/local/include/log4cplus \-I/usr/local/include/ClearSilver \-I/usr/include/mysql \-I../../implements/log \-I../../implements/tools \-I../../implements/db \-I../../implements/configure \-I../../implements/protocol \-I../../implements/user \-I../../implements/logicLIBDIRS = -L/usr/local/lib \-L/usr/lib64/mysqlLIBS += -lfcgi \-ljson \-lmysqlclient \-llog4cplus -lpthread \-lcrypto \-lmemcached \-lneo_cgi -lneo_utl -lneo_cs \-lcurlCC = gcc
CXX = g++CXXFLAGES += -Wall -O2
LDFLAGS = -Wl,-R /usr/local/libRM = rm -f
CP = cp -fSOURCES += api-login.cpp OBJECTS = $(SOURCES:.cpp=.o).PHONY : all clean install memall:$(TARGET)mem:$(CXX) -c -std=c++0x ../../implements/tools/memcached.cpp -o memcached.o$(TARGET):$(OBJECTS)$(CXX) -o $(TARGET) memcached.o $(OBJECTS) $(LDFLAGS) $(LIBDIRS) $(LIBS)$(OBJECTS):%.o:%.cpp$(CXX) -c $(CXXFLAGES) $(INCLUDES) $< -o $@clean:-$(RM) $(TARGET) $(OBJECTS) memcached.oinstall:-$(CP) $(TARGET) $(INSTALL_PATH)/$(TARGET)-$(CP) ../../implements/log/log4cplus.properties /data/log/