walter2001 发表于 2015-09-12 10:57

请教make并发编译问题

编译机是4核PC,RHEL6.1系统,使用并发编译 make -j4
遇到warning: jobserver unavailable: using -j1. Add `+' to parent make rule.

网上查到这个warning的说明:
为了现实make进程之间的通信,上层make进程将传递信息给子make进程。在传递信息过程中可能存在这种情况,子make进程不是一个实际的make进程,而上层make却不能确定子进程是否是真实的make进程。它只是将所有信息传递下去。上层make采用正常的算法来决定这些(参考 4.6.1 变量MAKE 一小节)。当出现这种情况,子进程只会接受父进程传递的部分有用的信息。子进程会产生该警告信息,之后按照其内建的顺序方式进行处理。

但是一直不知道Add `+' to parent make rule.该怎么理解?这个Add该怎么操作?请教大神指点。

yjh777 发表于 2015-10-10 15:38

http://stackoverflow.com/questions/9147196/makefile-pass-jobs-param-to-sub-makefiles
http://stackoverflow.com/questions/2942465/cmake-and-parallel-building-with-make-jn#3
mysubdir:
    $(MAKE) -C mysubdir

or like this:

mysubdir:
    +make -C mysubdir
页: [1]
查看完整版本: 请教make并发编译问题