gpt4 book ai didi

makefile - 制作 : Using target specific variables in prerequisites

转载 作者:行者123 更新时间:2023-12-04 04:07:14 24 4
gpt4 key购买 nike

我正在尝试编写一个 Makefile,其中使用目标特定变量的先决条件

version=

target1: override version=1
target1: package

target2: override version=2
target2: package

package: dir=package-${version}\
package: source

source: src/${version}.c

当我运行 make 版本变量在目标包中并且源为空。

我做错了什么?

最佳答案

使用 Secondary Expansion :

.SECONDEXPANSION:

package: dir=package-$${version}
package: source

source: src/$${version}.c

更新。

这个答案是错误的,由于 answer 中解释的原因,建议的代码将不起作用。到一个类似的问题。

TL;博士:特定于目标的变量根据 make 当前正在构建的目标发挥作用 [ 1 ]。反过来,第二次扩展发生在读入阶段结束时 [ 2 ],在构建任何东西之前。

感谢 @koniiiik为了指出。

关于makefile - 制作 : Using target specific variables in prerequisites,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9311743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com