首页 > 解决方案 > 依赖路径

问题描述

我有makefile的片段

CXX      := -c++
CXXFLAGS := -pedantic-errors -Wall -Wextra -Werror
LDFLAGS  := -L/usr/lib -lstdc++ -lm
BUILD    := ./build
OBJ_DIR  := $(BUILD)/objects
APP_DIR  := $(BUILD)/apps
TARGET   := program
INCLUDE  := -Iinclude/
SRC      :=                      \
    $(wildcard src/module1/*.cpp) \
    $(wildcard src/module2/*.cpp) \
    $(wildcard src/module3/*.cpp) \
    $(wildcard src/*.cpp)         \

 OBJECTS  := $(SRC:%.cpp=$(OBJ_DIR)/%.o)

 all: build $(APP_DIR)/$(TARGET)

$(OBJ_DIR)/%.o: %.cpp
  @mkdir -p $(@D)
  $(CXX) $(CXXFLAGS) $(INCLUDE) -c $< -o $@ $(LDFLAGS)

$(APP_DIR)/$(TARGET): $(OBJECTS)
  @mkdir -p $(@D)
  $(CXX) $(CXXFLAGS) -o $(APP_DIR)/$(TARGET) $^ $(LDFLAGS)

谁能告诉我片段中的以下行指定了什么以及如何生成此依赖路径:-

OBJECTS := $(SRC:%.cpp=$(OBJ_DIR)/%.o)

标签: linuxunixmakefile

解决方案


推荐阅读