GNU make:在Makefile中提取-j的参数

问题描述 投票:22回答:2

我已经搜索了一个小时,而该信息似乎无处...

我希望能够提取(并可能使用)通过-j选项或在Makefile中通过Make本身(对于子Make而言)传递的所请求make“作业”的数量。] >

到目前为止,我看到的最有希望的事情是$(MAKEFLAGS)变量,但是在我的系统上(如果我这样做,例如,使-j2),该变量的内容仅是“ --jobserver-fds = 3 ,4 -j”。是否有任何方法可以获取通过-j传递的实际作业数?

我一直在搜索一个小时,而该信息似乎无处...我希望能够提取(并可能使用)通过-j传递的要求的制造“工作”的数量。选项,或...

gnu-make
2个回答
11
投票

实际上,有一种方法可以在* nix上的makefile中完全实现此功能。


13
投票

很抱歉,但是没有办法确定并行作业的数量-如果不编写扫描进程列表以识别调用参数的应用程序或脚本,那么>

检查http://cvs.savannah.gnu.org/viewvc/make/main.c?revision=1.246&root=make&view=markup的源代码。搜索job_slots > 1

© www.soinside.com 2019 - 2024. All rights reserved.