GNU make - 如何将隐式模式设置为先决条件

时间:2016-08-11 20:10:40

标签: makefile gnu-make

我有这个隐含的规则:

%.so: %.so.5
    qnx_ln $< $@

我意识到,对于另一个目标,我必须使所有.so个文件成为该目标的先决条件。

我试过了:

makegen: $(TEAM_ROOT)HMI_FORGF/src/src.pro module_dirs %.so
    ...

但我得到了输出

  

***没有规定制作目标&#39;%。所以&#39;,需要&#39; makegen&#39;。停止。

2 个答案:

答案 0 :(得分:2)

%先决条件模式只能用于静态和隐式模式规则,它们与目标的相应%部分匹配;在常规规则%中使用时,它是一个文字字符。

您需要按字面指定依赖项,除非某些源文件名与您可以利用的.so文件名之间存在某种对应关系,可能您已经在执行其中任何一项链接{{1首先是文件。

答案 1 :(得分:0)

如前所述,不,你不能这样做,因为这不是先决条件模式的工作方式。也许你给了以下一个想法并拒绝了它,但我怀疑你可能会发现以下内容足够合适:

 if($(document).scrollTop() > value) {...