我正在处理一个旧的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。
答案 0 :(得分:3)
这并不意味着什么特别的。只有$@
后跟文字~
。文件名上的~
后缀通常用于临时文件,因此此配方使用以目标命名但后缀为~
的临时文件。