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

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...