make in RELENG_7 breaks -j for ports that worked in RELENG_6_2

Josh Carroll josh.carroll at gmail.com
Thu Oct 18 15:25:24 PDT 2007


Let me preface this by saying that I know -j is unsupported with
ports, and that there are efforts to potentially add hooks for -j. I
just happened to have found a bunch of ports that compiled properly
when setting MAKE_ARGS to -j X in RELENG_6_2.

I had quite a few entries like this in my make.conf, prior to the
RELENG_7 upgrade:

.if ${.CURDIR:M*/bash*}
MAKE_ARGS+=-j8
.endif

If I use the above with RELENG_7's make, I see a lot of messages like:

Graph cycles through `config.h'
Graph cycles through `stamp-h'

and

`shell.c' is up to date.
`eval.c' is up to date.
`parse.y' is up to date.
`general.c' is up to date.

However, if I build and install RELENG_6_2's make, the port builds
properly. I know it's compiling things in parallel, as it compiles
faster with -j8 than without -j (admittedly, not by much):

compile time without -j:  33.603
compile time with -j8: 22.793

So has something in make changed to be more rigid (or proper) with -j
that is breaking this previous behavior?

Thanks,
Josh


More information about the freebsd-stable mailing list