makefile 里的 sed 命令,里面的$*是 makefile 的一个自动变量吗

1次阅读

共计 1207 个字符,预计需要花费 4 分钟才能阅读完成。

makefile 里的 sed 命令,里面的 $* 是 makefile 的一个自动变量吗

makefile 正在学习中,看到一个规则里面用了 sed 命令,sed 命令里用了 $*,感觉只用正则表达式来解释 $ 解释为行尾解释不通。

ldd@CD:~/hello$ gcc -M hello.c
hello.o: hello.c /usr/include/stdc-predef.h /usr/include/stdio.h 
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h 
 /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h 
 /usr/include/x86_64-linux-gnu/bits/wordsize.h 
 /usr/include/x86_64-linux-gnu/bits/long-double.h 
 /usr/include/x86_64-linux-gnu/gnu/stubs.h 
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h 
 /usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h 
 /usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h 
 /usr/include/x86_64-linux-gnu/bits/types.h 
 /usr/include/x86_64-linux-gnu/bits/timesize.h 
 /usr/include/x86_64-linux-gnu/bits/typesizes.h 
 /usr/include/x86_64-linux-gnu/bits/time64.h 
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h 
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h 
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h 
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h 
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h 
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h 
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h 
 /usr/include/x86_64-linux-gnu/bits/sys_errlist.h

另外随便写了一个 hellowoald,看了 gcc -M 的输出如上。

另外,为啥一定要用这个 d 文件,感觉有点没理解它的妙处?

PS:脚本方面比较弱,正在学习中,大佬们帮忙解答下。

正文完
 0