gpt4 book ai didi

makefile - GNU 制作 : Check number of parallel jobs

转载 作者:行者123 更新时间:2023-12-04 22:18:30 31 4
gpt4 key购买 nike

我想向(GNU)makefile 添加一个快速检查,它可以提醒用户-j 的可用性。/--jobs (平行制造)。也就是说,像

$ make
TIP: this will build faster if you use use "make -j"
Building ..

$ make -j
Building in parallel ..

执行 Makefile 时如何确定并行作业的数量?

这里有一个技巧
http://blog.jgc.org/2015/03/gnu-make-insanity-finding-value-of-j.html

以及对 GNU Make 自身的提议更改在这里
https://github.com/esantoro/make/commit/b0334e7f3009dc58dbc8e6e6fdec94711537fb3b

但也许有更新和/或更容易的东西。

最佳答案

最简单/最好的解决方案是将您的 GNU make 版本升级到 4.2 或更高版本。从那个版本开始,MAKEFLAGS变量将提供完整的 -j选项包括号码。新闻文件说:

  • The amount of parallelism can be determined by querying MAKEFLAGS, even whenthe job server is enabled (previously MAKEFLAGS would always contain only"-j", with no number, when job server was enabled).

所以:
$ make --version
GNU Make 4.2.1
...

$ echo 'all:;@echo $(MAKEFLAGS)' | make -f-

$ echo 'all:;@echo $(MAKEFLAGS)' | make -f- -j
-j
$ echo 'all:;@echo $(MAKEFLAGS)' | make -f- -j10
-j10 --jobserver-auth=3,4
$ echo 'all:;@echo $(patsubst -j%,%,$(filter -j%,$(MAKEFLAGS)))' | make -f- -j10
10

关于makefile - GNU 制作 : Check number of parallel jobs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48863762/

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