在 Makefile 中拆分 $^
Splitting $^ in a Makefile
我的 Makefile 中有以下规则:
appfile appfile.symbols:
build-the-app
distribute: appfile appfile.symbols
push -flag1 appfile -flag2 appfile.symbols
我想交换 push -flag1 appfile -flag2 appfile.symbols
以使用从 $^
检索到的依赖项,例如 push -flag1 $^1 -flag2 $^2
有什么方法可以拆分 $^ 来实现这一点吗?
谢谢。
第一个先决条件是 $<
。您可以使用 GNU make 中的 word
函数来获取其他功能(如果您愿意,也可以使用所有功能):
distribute: appfile appfile.symbols
push -flag1 $< -flag2 $(word 2,$^)
当依赖有一定的模式时,可以使用filter
和filter-out
;例如
distribute: ...
push -flag1 $(filter-out %.symbols,$^) -flag2 $(filter %.symbols,$^)
我的 Makefile 中有以下规则:
appfile appfile.symbols:
build-the-app
distribute: appfile appfile.symbols
push -flag1 appfile -flag2 appfile.symbols
我想交换 push -flag1 appfile -flag2 appfile.symbols
以使用从 $^
检索到的依赖项,例如 push -flag1 $^1 -flag2 $^2
有什么方法可以拆分 $^ 来实现这一点吗?
谢谢。
第一个先决条件是 $<
。您可以使用 GNU make 中的 word
函数来获取其他功能(如果您愿意,也可以使用所有功能):
distribute: appfile appfile.symbols
push -flag1 $< -flag2 $(word 2,$^)
当依赖有一定的模式时,可以使用filter
和filter-out
;例如
distribute: ...
push -flag1 $(filter-out %.symbols,$^) -flag2 $(filter %.symbols,$^)