gre*_*iod 5 gnu makefile recipe rule
查看GNU make manual,空配方和无配方之间究竟有什么区别(例如,请参阅没有配方或先决条件的规则中的一个实例)?更重要的是,什么时候应该使用/避免这两种食谱中的每一种?
在我目前的理解中,应该始终使用
target: ;
Run Code Online (Sandbox Code Playgroud)
因为有时一个隐含的规则有可能会破坏一个人的目的,没有规则。
给定目标只能有一个配方。如果您声明一个空配方,那么您现在已经为该目标提供了该配方,并且不会通过隐式规则搜索它。另外,如果你尝试给同一个目标另一个配方,那么 make 会抱怨。
“无配方”只是意味着您要向现有目标添加更多先决条件,或者,如果您没有列出先决条件,您只是通知 make 这是您感兴趣的目标。但您并没有覆盖任何先决条件make 的食谱查找将在其他地方进行。
绝对不应该总是使用其中之一:您使用哪一个取决于您想要实现的目标。
当你说“没有规则”的目的失败时,我不知道你的意思,所以我无法回应……当你说“没有规则”时,你想达到什么目的?
归档时间: |
|
查看次数: |
1435 次 |
最近记录: |