makefile 模板

来源:互联网 发布:java写一个二分查找 编辑:程序博客网 时间:2024/06/05 07:22

目录结构:

         inc

         src

              xx1.cpp

               xx2.cpp

        object

         bin

makefile如下:

PRJHOME = .TARGET = $(PRJHOME)/bin/mainSRC_PATH = $(PRJHOME)/srcOBJ_PATH = $(PRJHOME)/objectSO_OPT = -shared -fPICCC     = g++#获取到本目录下所有cppSRCS_WITH_PATH =$(wildcard $(SRC_PATH)/*.cpp)  #remove dirpathSRCS = $(notdir $(SRCS_WITH_PATH))  #构造预期的目标 .o 文件, replace cpp with oOBJECTS = $(patsubst %.cpp,%.o,$(SRCS))#指定 .o 文件生成的目录OBJECTS_WITH_PATH = $(addprefix $(OBJ_PATH)/,$(OBJECTS))#include pathINCFLAGS = \        -I$(PRJHOME)/inc  \        #-I$(PRJHOME)/inc/json   LIBFLAGS = -L$(PRJHOME)/share -ljson \           -lpthread \           -lmysqlclient$(OBJ_PATH)/%.o:$(SRC_PATH)/%.cpp    @echo "$@"    $(CC) -fPIC -c $(CFLAGS) $< $(INCFLAGS) $(LIBFLAGS) -o $@$(TARGET): $(SRC_PATH) $(OBJECTS_WITH_PATH)    @echo "Making $@, please wait ..."    $(CC) $(CFLAGS) -o $(TARGET)  $(OBJECTS_WITH_PATH) $(LIBFLAGS)    @echo DONEinstall:$(TARGET)debug:CFLAGS = -gdebug:$(TARGET)clean:    -rm -f $(TARGET) $(OBJECTS_WITH_PATH)


0 0