gpt4 book ai didi

makefile notdir 命令

转载 作者:行者123 更新时间:2023-12-03 23:32:39 30 4
gpt4 key购买 nike

我的源文件不在我需要做的一个目录中 ../或 ../../东西。

之后,我需要更改源文件名,例如:../ex/test.c to obj/test.o
用这个: 命令:

$(OBJDIR) $(notdir $(SOURCECODE:.c=.o))

然而只有第一个文件名 $(SOURCECODE) ( ../ex/test.c ) 被正确重命名为 obj/test.o,其余的看起来都像 *.o , 没有目录信息。

最佳答案

那是因为您添加了 $(OBJDIR)按原样添加到列表中:obj/ + foo.c bar.c baz.cobj/foo.c bar.c baz.c ,这不是您想要的。

要将目录添加到列表中的每个文件,请使用 addprefix 功能:

$(addprefix $(OBJDIR),$(notdir $(SOURCECODE:.c=.o)))

关于makefile notdir 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8671762/

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