如何将目标词干传递给Makefile中的Shell命令

dkn37

我正在编写一个静态模式规则,以生成与模式匹配的目标的依赖关系列表。依赖关系是通过shell命令生成的(文件内容提供了有关依赖关系的信息)。这是显式规则的示例:

f1.o: $(shell gendep src/f1/f1.source)
    ... (some compilation command here) ...

虽然这可行,但由于我要保持相同的文件结构,所以我不想为每个新目标重写它。我尝试使用静态模式规则是这样的:

%.o: $(shell gendep src/%/%.source)
    ...

我在将词干(%的匹配模式)传递给shell命令时遇到麻烦。shell命令按字面意义进行解释,并在src /%/%。source上运行,当然这是不存在的。

我怀疑有将茎传递给shell命令的方法,但我似乎没有找到它。这里有任何专家可以帮助我吗?抱歉,这是一个新手问题(我的确是一个问题)。

贝塔

您尝试执行的操作很困难,因为通常Make会$(shell ...)在运行任何规则甚至决定必须运行哪些规则之前扩展指令。我们可以通过辅助扩展(稍微扩展一点的Make技巧)来阻止它

.SECONDEXPANSION:

%.o: $$(shell gendep src/$$*/$$*.source)
    ...

还存在其他用于自动生成依赖项的方法

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将所有命令行参数传递给Makefile中的程序?

如何将参数传递给Hudson Job的Shell命令

我如何将 python 变量传递给 shell 命令

如何将多个答案传递给 shell 命令?

如何将日期(或通常是shell脚本的结果)传递给supervisor中的命令

如何将 shell 变量传递给读取脚本中控制台输入的命令?

如何将 Makefile 目标传递给另一个

如何将输入从Bash中的文件传递给命令

如何将变量传递给 Python 中的 bash 命令

如何将 shell 命令的输出分配给所有 make 目标的 Makefile 变量?

如何仅将参数值传递给Makefile目标?

将多个目标中的 Makefile 模式传递给依赖项

Shell脚本:如何将脚本的命令行参数传递给它调用的命令?

如何将Shell变量作为命令行参数传递给Shell脚本

如何将参数传递给通过shell命令启动的android应用

使用at执行该命令时如何将参数传递给bash shell脚本?

如何将命令行参数传递给Shell别名?

如何将字符串命令传递给 shell 管道以执行它(awk 的输出)

如何将参数值从 sub 传递给 excel VBA shell 命令以进行远程执行?

如何将别名作为参数传递给Shell命令

如何将变量传递给Bazel目标构建?

如何将事件目标传递给函数

如何将命令输出传递给其他命令?

将for循环变量传递给makefile中的shell函数

如何将命令传递给模板,并使其在我的后端代码中执行并传递参数?

如何将变量传递给Makefile中foreach函数调用的子make?

如何将* all *输入的shell命令的输出传递给另一个?(例如,将所有内容通过管道传送到“ lolcat”中)

如何将参数中的空格传递给变量中的命令

在 makefile 中的目标内执行 shell 命令