.ONESHELL目标('假冒'目标)对makefile没有影响

时间:2015-08-10 04:35:51

标签: makefile

确定prerequisites to .PHONY are made target-like后。

查看docs,其中以下特殊目标似乎遵循相同的语法规则:

  

'EXPORT_ALL_VARIABLES'

Rabbit[predator[1]]
     

...   
  ...   
  ...   

     

'ONESHELL'

 Simply by being mentioned as a target...

我试着关注makefile:

 If '.ONESHELL' is mentioned as a target...

通过运行它,并获得:

all:
    @foo=bar
    @echo "foo=$${foo}"

.PHONY: all
.PHONY: .ONESHELL

这肯定不是“oneshell”执行的结果。

那么,关于他们的语法规则,是否有一些foo= 更多特殊

1 个答案:

答案 0 :(得分:1)

.ONESHELL应作为目标提供,而不是您在问题中指定的先决条件。如果您指定.ONESHELL: all,则应获得foo=bar的预期输出。这就是我在以下make上运行makefile时获得的结果。

.ONESHELL: all
.PHONY: all

all:
    @foo=bar
    @echo "foo=$${foo}"