Makefile命令修改

标签 makefile gnu-make

我想修改 Makefile 命令:

-rm -f $(OBJS)
-rm -f $(OBJS:.o=.mod)

第一个删除所有 filenames.o,第二个删除所有 filenames.mod。不过,我想 修改第二个,这样我就得到:mod_filenames.mod,即添加字符串“mod_”。

我尝试过:-rm -f mod_$(OBJS:.o=.mod),但这仅影响列表中的第一个文件。但我在这里猜测。如果有人可以推荐一个解释此类编程的广泛网站,我将不胜感激。

最佳答案

GNU Make Manual .

还有GNU Make Unleased bookGNU Make Standard Library .

参见8.3 Functions for File Names手册中,可以使用$(addprefix ...)(还有其他方式)获取:

-rm -f $(OBJS)
-rm -f $(addprefix mod_,$(OBJS:.o=.mod))

使用 $(RM) 会更好(通常是 rm -f):

-$(RM) $(OBJS)
-$(RM) $(addprefix mod_,$(OBJS:.o=.mod))

关于Makefile命令修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24294293/

相关文章:

linux - 创建一个由两个头文件编译的头文件 - makefile

c - 没有规则可以生成目标 'bin/obj/list.o'

makefile - 将目标名称传递给 makefile 中的依赖项

c - Makefile目标文件生成、变量替换等问题

c - 带有两个 .c 文件且没有头文件的 Makefile

makefile - 匹配任何模式规则

makefile - 如何使 make -j 产生良好的输出?

string - GMSL seq函数的实现

linux - Makefile:需要执行的命令存储在一个列表中

c++ - Makefile:将 llvm 程序编译为 g++ 编译的 bnfc 项目的一部分