unix – 如何在Makefile中包含干净的目标?

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Bash相关文章