gpt4 book ai didi

Makefile - 将作业参数传递给子 makefile

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

我有一个调用多个其他生成文件的生成文件。

我想将 -j 参数传递给其他 makefile 调用。

类似(make -j8):

 all:
make -f libpng_linux.mk -j$(J)

其中 $(J) 是 -j8 中的值 8。我绝对发誓我以前做过这个,但我找不到我的例子。

$(MAKEFLAGS) 似乎包含 --jobserver-fds=3,4 -j 不管 -j2 或 -j8

编辑:可能的解决方案:

将很快将此作为答案发布。

这似乎是一种不用担心的解决方案。调用主 makefile 时包括 -j8。 make 的子调用应如下所示:
 all:
+make -f libpng_linux.mk -j$(J)

注意 make 前面的“+”。当我尝试并行构建时,我注意到 make 抛出警告:make[1]:warning:jobserveravailable:using-j1。将“+”添加到父规则。

最佳答案

Only certain flags go into $(MAKEFLAGS) . -j不包括在内,因为子制造商相互通信以确保发生适当数量的作业

此外,您应该使用 $(MAKE)而不是 make , 自 $(MAKE)将始终评估为正确的可执行文件名称(可能不是 make )。

关于Makefile - 将作业参数传递给子 makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9147196/

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