makefile 模板

 

静态库:

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)


你可能感兴趣的:(thread,多线程,mysql,File,makefile,wildcard)