gpt4 book ai didi

makefile - 为文件夹中的文件制定推理规则

转载 作者:行者123 更新时间:2023-12-02 00:40:34 24 4
gpt4 key购买 nike

我使用 GNU make,我希望我的源文件和目标文件位于不同的文件夹中。

作为第一步,我希望源文件位于我的项目文件夹的根目录下,目标文件位于子文件夹中(比如 Debug/)。

推理规则是:

.ss.obj:
echo Assembling $*.ss...
$(ASSEMBLY) $(2210_ASSEMBLY_FLAGS) $*.ss -o Debug\$*.obj

但在那种情况下,make 会一直重建所有文件,因为根文件夹中没有 .obj。

有没有办法在 .ss.obj 行中包含目标文件夹?

我也试过:

$(OBJS_WITH_PATH):$(SRC)    
echo Assembling $<...
$(ASSEMBLY) $(ASSEMBLY_FLAGS) $< -o $@

$(SRC) 作为我所有来源的列表,$(OBJS_WITH_PATH) 以这种方式构建:

OBJS_WITH_PATH = $(patsubst %.ss,Debug\\%.obj,$(SRC))

但这会为所有目标文件建立对所有源文件的依赖。

我想修改我先写的推理规则,取Debug/*.obj文件。它现在说的是no rule to make target Debug/asdfasdf.obj

最佳答案

使用模式规则:

Debug/%.obj : %.ss

关于makefile - 为文件夹中的文件制定推理规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2697390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com