
As of version 3.77, GNU make is distributed with working support for
operation with this version of customs.  Therefore, you should NOT
apply the patch below, and should rather get a recent version of GNU
make.

A. Stolcke
8/25/99

--------------------------------------------------------------------------------

The enclosed patch file fixes GNU make version 3.62 to work with Customs
as distributed here.  The original customs support was broken, and didn't
work well with all the new features introduced in this version of customs,
especially priviledged ports.  GNU make is available via anonymous ftp
from prep.ai.mit.edu in /pub/gnu/make-3.62.tar.Z.

Customs with GNU make seems to be as robust as and only slightly less
efficient than pmake, so if you prefer GNU make you can forget about
pmake altogether, except for building customs itself!

The mail message below explains how gnumake flags can be used to control
local and remote job allocation.

The patch also includes a small fix to the load monitoring code to make
it work on Sun platforms.

A. Stolcke
4/12/92

P.S.: After applying the patch you'll have to edit the Makefile to
adjust the CUSTOMSSRC macro to point to the customs source directory
(../customs in this distribution). -- 12/11/92

--------------------------------------------------------------------------------
Date:    Sun, 12 Apr 92 12:32:33 MDT
To:      gnuusers@icsi, pmakeusers@icsi
cc:      costales

From:    Andreas Stolcke <stolcke>
Subject: gnumake can use customs, too!


I modified gnumake (recently installed by Bryan) to do remote job
execution using the customs system (as is also done by pmake).
The code was basically already there, but had some bugs and didn't take
advantage of some of the enhanced features of our version of customs.

The default behavior is to run one job locally and all remaining ones
remotely, up to the limit specified by the -j flag.
The -l flag, normally used to limit the local load average, is also
interpreted as a limit on local number of jobs.  I.e., 

	gnumake -j 8 -l 0

runs everything remotely, up to 8 jobs at a time, while

	gnumake -j 6 -l 2

runs up to 6 in parallel, two of which locally.

	gnumake -j 5 -l 5

runs up to five jobs, all local, as long as the load average stays below 5.

How does gnumake compare to pmake?  Well, they are two different extended
versions of make with differing syntax for includes and conditionals.
Gnumake may be more `compatible' with standard and Sun make, while
pmake has more bells and whistles and handles job exportation slightly
more efficiently (gnumake has to fork a local monitor program for each
exported job).  Pick your favorite.

--Andreas
