Yeraze
Yeraze

Reputation: 3289

Change Gnu Make -j Behavior to personally ignore, but pass on?

I have a makefile that is a 3rdParty dependency builder, so it's actually just going to various other directories and running cmake/make with various flags to ensure all 15-20 dependencies of my project compile the way I need.

Building parallel would really help here, (the build takes about 2 hours serially), but I need a 'make -jN' to not run the toplevel makefile parallel, instead run it serially (the various 3rdParty libs have internal dependencies to meet) and pass the arg to the inside makefiles.

Is there a way to get this behavior?

Upvotes: 1

Views: 220

Answers (1)

MadScientist
MadScientist

Reputation: 100781

Use the .NOTPARALLEL pseudo target; from the docs:

`.NOTPARALLEL'

If `.NOTPARALLEL' is mentioned as a target, then this invocation of
`make' will be run serially, even if the `-j' option is given.
Any recursively invoked `make' command will still be run in
parallel (unless its makefile contains this target).  Any
prerequisites on this target are ignored.

Upvotes: 2

Related Questions