-- This written by the original author circa 1987 --
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)

@//E*O*F README//

