error while compile port

RW rwmaillists at googlemail.com
Sun Jan 9 02:18:03 UTC 2011


On Sat, 8 Jan 2011 17:33:40 -0700 (MST)
Warren Block <wblock at wonkity.com> wrote:


> > They are also doing very different things. MAKE_JOBS_SAFE applies
> > -j to GNU make, which is invoked to do the actual compiling of
> > third-party software. make -j 16 install applies -j to BSD make,
> > which is used to implement the ports system itself.
> 
> gmake isn't used by every port, AFAIK.  
 
I'd always assumed that most ports would be sufficiently gnucentric to
make gmake the norm (if only as the path of least-resistance), but it
appears to be the opposite. It ain't what you don't know, ...

> But I can't quite come up
> with a clear way of saying that I think -j applies to the top-level
> make (the one running the ports system) while
> MAKE_JOBS_SAFE/MAKE_JOBS_NUMBER is applied to the make(s) actually
> building the port.

I don't know much about make, but I presume it's because MAKEFLAGS is
rewritten and the options are passed down as explicit arguments to
[g]make. -j is a little odd though, because it need to work over all
the make processes.

It doesn't really matter because passing -j to the top-level isn't
supported. It's an unfortunate consequence of the ports system being
encoded in makefiles that people lose track of the distinction between
the two levels. In Gentoo the upper layer is scripting, and everyone
understands that -j just applies to the third-party makefiles.  


More information about the freebsd-questions mailing list