Following is a repost of the public domain 'make' that I posted
to net.sources a couple of months ago.  I have fixed a few bugs, and
added some more features, and the resulting changes amounted to
about as much text as the whole program (hence the repost).

For those that missed the net.sources posting, this is a public domain
re-implementation of the UNIX make program.  There is no manual included;
for documentation, refer to a UNIX manual, or the source.

Here is a list of the changes made:

i)	If '-' (ignore) or '@' (silent) where used at the start
	of a command, their effect was not turned off for the following
	commands.
ii)	A special target (.SUFFIXES, .PRECIOUS) or a rule (.c.o, .a.o),
	if first in the file would be taken as the default target.
	This resulted in error messages like "Don't know how to
	make .c", because things like .SUFFIXES were being made.
	This was further complicated by ---
iii)	Special target lines with no dependents (ie. .SUFFIXES:\n)
	were not clearing out the existing dependents like
	they should.
iv)	Default rules could not be redefined because of the error
	checking for commands being defined twice.  Now you are
	allowed to define a target beinging with '.', having
	no dependents with commands.
v)	The -q option didn't do the time comparison correctly,
	or clear the variable used to keep track of this.  Thus
	it didn't work very well.
vi)	The syntax ${..} for macro's supported by UNIX make was
	not supported.
vii)	There wuz a couple of spelling errors.
viii)	When make checked for implicit rules on targets without
	a suffix, there were problems.  (Note: The ~ feature of
	UNIX make wasn't and still isn't supported)
ix)	The -n option did not print @ lines like it was supposed to.
x)	:: added.  (See UNIX manual)
xi)	$? added.  (see UNIX manual)
