diff --git a/Library/Contributions/manpages/brew.1.md b/Library/Contributions/manpages/brew.1.md index 89d73f612c..5339372844 100644 --- a/Library/Contributions/manpages/brew.1.md +++ b/Library/Contributions/manpages/brew.1.md @@ -316,6 +316,12 @@ Some sample commands ship with Homebrew and are enabled by default. If set, Homebrew will not remove files from `share/info`, allowing them to be linked from the Cellar. + * HOMEBREW\_MAKE\_JOBS: + If set, instructs Homebrew to use the value of `HOMEBREW_MAKE_JOBS` as + the number of parallel jobs to run when building with `make`(1). + + *Default:* the number of available CPU cores. + * HOMEBREW\_SVN: When exporting from Subversion, Homebrew will use `HOMEBREW_SVN` if set, a Homebrew-built Subversion if installed, or the system-provided binary. diff --git a/Library/Homebrew/extend/ENV.rb b/Library/Homebrew/extend/ENV.rb index 931f69271b..8ca166ac07 100644 --- a/Library/Homebrew/extend/ENV.rb +++ b/Library/Homebrew/extend/ENV.rb @@ -8,7 +8,7 @@ module HomebrewEnvExtension delete('CPPFLAGS') delete('LDFLAGS') - self['MAKEFLAGS'] = "-j#{Hardware.processor_count}" + self['MAKEFLAGS'] = "-j#{self.make_jobs}" unless HOMEBREW_PREFIX.to_s == '/usr/local' # /usr/local is already an -isystem and -L directory so we skip it @@ -309,4 +309,13 @@ Please take one of the following actions: def use_llvm? self['HOMEBREW_USE_LLVM'] or ARGV.include? '--use-llvm' end + + def make_jobs + # '-j' requires a positive integral argument + if self['HOMEBREW_MAKE_JOBS'].to_i > 0 + self['HOMEBREW_MAKE_JOBS'] + else + Hardware.processor_count + end + end end diff --git a/share/man/man1/brew.1 b/share/man/man1/brew.1 index 896e741051..3b6a9ef84d 100644 --- a/share/man/man1/brew.1 +++ b/share/man/man1/brew.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BREW" "1" "June 2011" "Homebrew" "brew" +.TH "BREW" "1" "July 2011" "Homebrew" "brew" . .SH "NAME" \fBbrew\fR \- The missing package manager for OS X @@ -351,6 +351,13 @@ HOMEBREW_KEEP_INFO If set, Homebrew will not remove files from \fBshare/info\fR, allowing them to be linked from the Cellar\. . .TP +HOMEBREW_MAKE_JOBS +If set, instructs Homebrew to use the value of \fBHOMEBREW_MAKE_JOBS\fR as the number of parallel jobs to run when building with \fBmake\fR(1)\. +. +.IP +\fIDefault:\fR the number of available CPU cores\. +. +.TP HOMEBREW_SVN When exporting from Subversion, Homebrew will use \fBHOMEBREW_SVN\fR if set, a Homebrew\-built Subversion if installed, or the system\-provided binary\. .