【发布时间】:2016-12-02 10:34:33
【问题描述】:
我可以使用 -j 选项调用 (GNU) make,从而可以并行运行多个作业:
make -j
是否可以从 Makefile 中确定是否使用此选项调用了 make?我试图寻找一些自动变量来存储所有给定的选项,但我找不到它。
我问是因为我希望构建过程根据是否使用 -j 略有不同。
【问题讨论】:
标签: makefile parallel-processing compilation gnu-make
我可以使用 -j 选项调用 (GNU) make,从而可以并行运行多个作业:
make -j
是否可以从 Makefile 中确定是否使用此选项调用了 make?我试图寻找一些自动变量来存储所有给定的选项,但我找不到它。
我问是因为我希望构建过程根据是否使用 -j 略有不同。
【问题讨论】:
标签: makefile parallel-processing compilation gnu-make
我不确定这是否是一种标准做法(或一个好的建议),但这里是:
制作文件:
something:
@echo MAKEFLAGS : $(MAKEFLAGS)
跑步:
/home/user> make something
MAKEFLAGS :
/home/user> make -j something
MAKEFLAGS : -j
/home/user> make -j 10 something
MAKEFLAGS : -j10 --jobserver-auth=3,4
/home/user> make -j20 something
MAKEFLAGS : -j20 --jobserver-auth=3,4
【讨论】:
-j。但是对于这个问题就足够了。
查看MAKEFLAGS GNU make 变量。
echo 'all:;: $(MAKEFLAGS)' | make -f-
:
echo 'all:;: $(MAKEFLAGS)' | make -f- -j
: -j
【讨论】: