Title | Makefiles not compatible with --jobs option |
Status | closed |
Priority | nice |
Assigned user | Gareth Rees |
Organization | Ravenbrook |
Description | Christian Schafmeister reports [1]: (cd mps-kit-1.111.0; make -j4 install) make[1]: Entering directory `mps-kit-1.111.0' mkdir -p bin make -C code -f lii6gc.gmk mkdir -p lib make[2]: Entering directory `mps-kit-1.111.0/code' make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. |
Analysis | As it says in the manual [2]: This special feature is only enabled if the MAKE variable appears directly in the recipe: it does not apply if the MAKE variable is referenced through expansion of another variable. In the latter case you must use the + token to get these special effects. The current Makefile.in uses $(MAKE) via the expansion of the variable $(MAKE_FOR_TARGET). |
How found | customer |
Evidence | [1] <https://info.ravenbrook.com/mail/2013/08/15/18-17-59/0/ >[2] < http://www.gnu.org/software/make/manual/make.html#MAKE-Variable > |
Observed in | 1.111.0 |
Created by | Gareth Rees |
Created on | 2013-08-20 16:38:29 |
Last modified by | Gareth Rees |
Last modified on | 2013-08-20 17:06:23 |
History | 2013-08-20 GDR Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
183333 | closed | 2013-08-20 17:06:23 | Gareth Rees | Use $(MAKE) literally in the rules (not via expansion of a variable) so as to support the --jobs option. |