Parallel make: set -j8 as the default option

Max Frai picture Max Frai · May 13, 2012 · Viewed 26.7k times · Source

I can set number of threads for the build process using -j argument. For example, I have 4 cores +4 virtual. When I write: make -j8 the speed increases 4 times.

Is it possible to set that value as default? (For example, in Linux Gentoo, in config file, it's possible to set this default value).

p.s. I have Arch Linux

Answer

Rafał Rawicki picture Rafał Rawicki · May 13, 2012

Your question is not about threads, but processes (jobs) executed by make.

The simple, way to set this, when make is used from the console is adding:

alias make="/usr/bin/make -j 8"

to your .profile file.

You can also use setenv MAKEFLAGS '-j 8', but MAKEFLAGS can ignore this parameter in some scenarios, because keeping desired number of processes requires communicating with recursive make calls. Happily this method works with current versions of GNU Make.