$^ > $@

sh/bash/dash/ksh/zsh等Shell脚本
回复
0_error
帖子: 6
注册时间: 2020-05-15 0:38

$^ > $@

#1

帖子 0_error » 2020-06-06 20:52

$(CC) -MM $(CFLAGS) $(CFLAGS_EXT) $(FLAG_INC) $^ > $@
请问这句命令里最后$^ > $@啥意思啊?
头像
astolia
论坛版主
帖子: 6456
注册时间: 2008-09-18 13:11

Re: $^ > $@

#2

帖子 astolia » 2020-06-06 22:18

0_error
帖子: 6
注册时间: 2020-05-15 0:38

Re: $^ > $@

#3

帖子 0_error » 2020-06-07 17:45

astolia 写了: 2020-06-06 22:18 https://www.ruanyifeng.com/blog/2015/02/make.html 在3.7部分有
你好,$^指的是所有的前置条件,$@指代当前目标,那么中间的>是什么意思,是gcc的一个参数吗,我查了也没有啊,gnu-make中也没查到相关运算符
头像
bzimage
帖子: 716
注册时间: 2006-03-14 10:25

Re: $^ > $@

#4

帖子 bzimage » 2020-06-07 20:37

0_error 写了: 2020-06-07 17:45
astolia 写了: 2020-06-06 22:18 https://www.ruanyifeng.com/blog/2015/02/make.html 在3.7部分有
你好,$^指的是所有的前置条件,$@指代当前目标,那么中间的>是什么意思,是gcc的一个参数吗,我查了也没有啊,gnu-make中也没查到相关运算符
> 是shell脚本,表示输出到已$@为文件名的文件中。
whqcraftsman
帖子: 2
注册时间: 2020-07-30 18:04
系统: ubuntu

Re: $^ > $@

#5

帖子 whqcraftsman » 2020-07-30 18:51

(这句makefile指令,我猜是生成头文件依赖.d的)
在makefile中,$@ $<这些的官方名称是automatic variables,一般只有在recipe中才有意义。
https://www.gnu.org/software/make/manua ... -Variables的10.5.3中罗列了详细的内容。
回复