[MonoDevelop] Re: [Mono-list] New snapshot of prj2make-sharp v 0.12

Jonathan Pryor jonpryor@vt.edu
Sun, 11 Apr 2004 11:34:46 -0400


On Sun, 2004-04-11 at 11:13, Timothy Parez wrote:
> What is the difference between 
> make, gmake and nmake ?

For make vs. gmake, it depends on what platform you're on.  On Linux,
these are the same program; on BSD and other Unix-like (or Real Unix)
systems, they're not.

gmake (GNU make) includes a number of syntax extensions, such as
immediate variable assignment (foo := bar).  Check the GNU make info
manual (``info make''), and read the Features node.  A summary of some
differences between gmake and make: VPATH variable handling; pattern
rules using %; conditional execution; and others.

nmake is Microsoft's make equivalent, and is very different.  For
example, all makes permit "deferred" variable assignment:

	foo = bar

But conditional execution varies wildly.  GNU make has ``ifeq...endif'',
while nmake uses !IF ... !END IF.

GNU make also has a number of built-in functions such as $(strip),
$(patsubst), $(findstring), etc.  nmake has no equivalent (that I'm
aware of).

 - Jon