前端之家收集整理的这篇文章主要介绍了
unix – 如何在Makefile中包含干净的目标?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个看起来像这样的Makefile
CXX = g++ -O2 -Wall
all: code1 code2
code1: code1.cc utilities.cc
$(CXX) $^ -o $@
code2: code2.cc utilities.cc
$(CXX) $^ -o $@
接下来我想做的是包括干净的目标,以便每次
我运行它会自动删除现有的二进制文件的code1和code2之前创建新的。
我试图将这些行放在makefile的最后,但它不起作用
clean:
rm -f $@
echo Clean done
什么是正确的方法?
在makefile语言中,$ @表示“目标
名称”,所以rm -f $ @转换为rm -f clean。
你需要指定rm你想删除什么,像rm -f * .o code1 code2