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

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...