Linux 下的Makefile(二)

来源:互联网 发布:java int除法向上取整 编辑:程序博客网 时间:2024/06/06 03:00

  之前说到怎么写一个简单的Makefile,现在介绍一下怎么把编译好的目标文件和执行文件分离出来,也就是分别放到两个文件夹当中。

  • 举例:
    当前test目录里面有一个文件夹src(sources),里面放有5个源文件(和之前的一样)。现在要做的就是编译完成之后,把目标文件和源文件以及可执行文件分离开来
OBJ_DIR = ./objSRC_DIR = ./srcBIN_DIR = ./binCXX = g++OBJS = $(OBJ_DIR)/main.o $(OBJ_DIR)/max.o $(OBJ_DIR)/min.o CFLAGS = -I$(SRC_DIR) -O2TARGET = $(BIN_DIR)/MainRM = rm -rf$(TARGET):DIR $(OBJS)      $(CXX) -o $(TARGET) $(OBJS) $(CFLAGS) $(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp    $(CXX) -c $< -o $@DIR:    @test -d $(OBJ_DIR) || mkdir -p $(OBJ_DIR)     @test -d $(BIN_DIR) || mkdir -p $(BIN_DIR)clean:    -$(RM) $(TARGET) $(OBJS) $(OBJ_DIR) $(BIN_DIR)

源文件链接

0 0