静态库:
INC_MYSQL = -I/usr/local/mysql/include LNK_MYSQL = -L/usr/local/mysql -lmysqlclient -lz INC = $(INC_MYSQL) -I./include LIB = $(LNK_MYSQL) OBJ = $(patsubst %.cpp,%.o,$(wildcard *.cpp)) TAR = ./lib/libtools.a all: $(TAR) $(TAR): $(OBJ) @ar cru $@ $(OBJ) @echo $@ rm -f *.o ###-D_MP_MODE 用于指定log是支持多进程安全的,-D_THREAD_SAFE 用于指定log是多线程安全的 %.o: %.cpp @g++ -Wall -fPIC -g -c $*.cpp $(INC) @echo $@ clean: rm -f $(TAR) $(OBJ)
动态库:
LIBC_VER = $(shell ls /lib/libc-*.so | cut -c11-13) CPP_FILE = *.cpp ./FrameAPI/*.cpp TAR = ../bin/testBServer.so INC_TOOL = LNK_TOOL = INC_MYSQL = LNK_MYSQL = INC = $(INC_TOOL) $(INC_MYSQL) -I./ -I./FrameAPI/ LNK = $(LNK_TOOL) $(LNK_MYSQL) CPP = $(wildcard $(CPP_FILE)) OBJ = $(patsubst %.cpp,%.o,$(CPP)) LINK_OBJ = $(patsubst %.cpp,%.o,$(notdir $(CPP))) all: $(TAR) $(TAR): $(OBJ) @g++ -shared -g -o $@ $(LINK_OBJ) $(INC) $(LNK) @echo $@ rm -f *.o %.o: %.cpp @g++ -Wall -fPIC -g -c $*.cpp $(INC) @echo $@ clean: rm -f *.o rm $(TAR)