如何在Makefile中编写clean-%规则实现指定可执行文件清理?
实现单个可执行文件的clean-%清理规则
很简单,你只需要在现有的Makefile里添加下面这个模式规则就可以实现需求:
clean-%: rm -f %
原理说明
这个clean-%是Makefile的模式规则,和你已经写的%: %.c规则逻辑一致:
- 当你执行
make clean-133时,%会被匹配成133,目标就变成了clean-133 - 对应的命令
rm -f %会自动把%替换为133,实际执行的就是rm -f 133,正好删除你通过make 133生成的可执行文件
使用示例
- 清理133可执行文件:
make clean-133 - 清理220可执行文件:
make clean-220 - 同理,任何你通过
make xxx生成的可执行文件,都可以用make clean-xxx来清理
这个规则和你现有的构建规则完美适配,完全满足你针对单个单文件C程序的清理需求。
内容的提问来源于stack exchange,提问作者iBug




