make: parallel jobs broken when using -f -

Ulrich Spoerlein uspoerlein at gmail.com
Thu Apr 12 21:24:20 UTC 2007


Hi Hartmut,

there is an annoying bug in 6-STABLE make(1), where -f - seems to
serialize the target making.

Consider the following Makefile

all: a b c d

a b c d:
        @echo Makeing ${.TARGET}
        @sleep 4

And observe the following behaviour:
$ make -j4
Makeing a
Makeing b
Makeing c
Makeing d
  <pause>
$ make -j4 -f- < Makefile
Makeing b
Makeing d
  <pause>
Makeing a
  <pause>
Makeing c
  <pause>
$

The make(1) on -CURRENT has this fixed already, is there any chance of
this getting MFCed?

AFAICS the following revisions are not up to date (wrt to CURRENT):
     $FreeBSD: src/usr.bin/make/job.c,v 1.122.2.1 2005/07/20 19:05:23 harti Exp $
     $FreeBSD: src/usr.bin/make/main.c,v 1.155 2005/05/24 16:05:51 harti Exp $
     $FreeBSD: src/usr.bin/make/parse.c,v 1.108.2.1 2005/11/16 08:25:19 ru Exp $
     $FreeBSD: src/usr.bin/make/str.c,v 1.45.2.1 2006/10/16 11:51:18 ru Exp $
     $FreeBSD: src/usr.bin/make/var.c,v 1.159 2005/05/24 16:05:51 harti Exp $


Ulrich Spoerlein
-- 
"The trouble with the dictionary is you have to know how the word is
spelled before you can look it up to see how it is spelled."
-- Will Cuppy


More information about the freebsd-stable mailing list