Makefile 为目标指定不同的输出目录将不起作用

Makefile 为目标指定不同的输出目录将不起作用,makefile,Makefile,当我使用第一个目标时,文件在。/Src/Folder1 当我使用第二个目标时,当运行make时,我得到: make:**没有规则使目标“../Src/Folder1/Os\u cpu\u a.\u ia”成为“../Obj/target”所需的目标。停止。 我做错了什么 至少您必须修改all(值$(OBJ))的先决条件: 然后按如下方式修改模式规则: OBJ := ../Obj/Folder1/source._ia 最后,在将。/Obj和。/Src提取到变量后,您将得到如下结果: ../Ob

  • 当我使用第一个目标时,文件在
    。/Src/Folder1
  • 当我使用第二个目标时,当运行make时,我得到:

    make:**没有规则使目标“../Src/Folder1/Os\u cpu\u a.\u ia”成为“../Obj/target”所需的目标。停止。
我做错了什么


至少您必须修改
all
(值
$(OBJ)
)的先决条件:

然后按如下方式修改模式规则:

OBJ := ../Obj/Folder1/source._ia
最后,在将
。/Obj
。/Src
提取到变量后,您将得到如下结果:

../Obj/%._ia: ../Src/%.a66
    echo "Test" > $@
../Obj/%._ia: ../Src/%.a66
    echo "Test" > $@
SRC_DIR := ../Src
OBJ_DIR := ../Obj

SRC := $(SRC_DIR)/Folder1/source.a66
OBJ := $(SRC:$(SRC_DIR)/%.a66=$(OBJ_DIR)/%._ia)

$(OBJ_DIR)/%._ia: $(SRC_DIR)/%.a66
    echo "Test" > $@