Makefile:$@~ 是什么意思?

标签 makefile

我正在处理一个旧的 makefile,其中包含以下代码片段来生成共享库:

lib$(LIBNAME).so.$(SOLIBREV): $(OBJS)
    $(RM) $@~
    @SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \
    $(CC) -o ./$@~ -shared -Wl,-soname,$$SONAME $(OBJS) $(SOEXTRALIBS) -lc;
    $(MV) $@~ $@
    $(MV) $@ lib$(LIBNAME).so

现在我需要修改它。我知道 $@ 指定了目标,但是“$@~”中的波浪号有什么含义?

顺便说一下,SOLIBREV 代表 so-library-revision。

最佳答案

没有什么特别的意思。它只是 $@ 后面跟着一个文字 ~。文件名上的 ~ 后缀通常用于临时文件,因此本方案使用以目标命名但带有额外 ~ 后缀的临时文件。

关于Makefile:$@~ 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31227725/

相关文章:

c++ - 如何修复丢失的 qt 小部件库 makefile 链接?

c++ - 使用 MinGW 时 NetBeans Make 命令

makefile - 为什么我的 FreeBSD 移植在 make 阶段失败?

c - 使错误别名为 undefined symbol devone_init

无法在 Ubuntu 上编译 CUDA 库 : Works on Mac,

linux - 具有多个子目录的 Linux 内核模块的 Makefile

makefile - 如何有条件地包含子automake配置文件

makefile - 如何忽略 mv 错误?

unit-testing - 单元测试构建文件

c - 具有可变目标的 makefile