Category : Miscellaneous Language Source Code
Archive   : MAKE15.ZIP
Filename : README

Output of file : README contained in archive : MAKE15.ZIP
Make Version 1.5 89-10-30

This is a work-alike program, very close to `make' as it exists on Sun
systems. It is compiled with Microsoft C (5.1) and runs on PCDOS 3.3.
It also compiles and runs on BSD 4.2 Unix.

Many thanks to Kirk Bailey ([email protected])
Brian Wilson (island!sun!grenada!dr_unix)
Jeff Fried (ames!culls!jeff)
Arend van den Brug (arend@philmds@philnl@mcvax)
for pointing out problems and improvements.

I have included a makefile and a (rudimentary) for BSD Unix.
Updates, additions and corrections are welcomed. The shar distribution
has the filenames reversed from the ZOO distribution:

ZOO distribution shar distribution
---------------------------- --------------------------
makefile makefile.bsd makefile.dos makefile default.bsd default.dos

This is because I assume that the ZOO is used on DOS and the shar on
Unix. If what you got is not appropriate, rename the appropriate files
and make. For example, if you got the DOS version on a Unix system:

mv makefile makefile.dos
mv makefile.bsd makefile
mv default.dos
mv default.bsd

Alternatively, you can (probably) just use this following command:

make -r -f default.bsd -f makefile.bsd

This is version 1.5. There is a version 1.4 that was submitted to by Arend van den Brug. I have incorporated many of
the changes into my version and called it 1.5. These are the changes
from 1.3 to 1.5:
support the -k, -S and -q options (see

correctly support the $(MAKE) macro.

allow target lines to end with a semi-colon and a command.

corrected bugs when allocated strings are over-run.

added "*" and "?" to the list of characters that force the use
of the shell on Unix

These are the changes from 1.2 to 1.3:
don't append shell command lines when encountering multiple
targets of the same name. if this is a *special* target
(e.g. .c.obj), just override. otherwise exit with an error.

flush output before executing the command, so the output comes
out in the right order when redirecting stdout to a file.

if a file is supposedly built, but does not exists, use current time.

exit with an error if a target line does not have a ':'.

don't force a space after "include" in case TAB is used.

D and F modifiers for Directory and Filename of $@, $<, $*.

use a dependent file for an implicit rule, if possible.

allow Makefile as well as makefile, for Unix.

always print statements when using -n, even if they start with @.

backquote (`) will force use of a shell, in Unix.

These are the changes from 1.1 to 1.2:
ensure command line macros override makefile macros, even as
makefiles are being read in.

support time checks correctly on MSDOS directories.

use MAKEFLAGS macro, and set it up for subordinate makes.

import environment variables and support -e flag.

handle `-f -' (i.e. makefile from stdin) correctly.

clean up some potential NULL pointer dereferences.

correct errors in handling nested makes.

modify tokenizing routine to correctly handle trailing separators.

the documentation has been re-written

These are the changes from 1.0 to 1.1:
modify prerequisite list handling to correctly allow a target to
appear on multiple target lines.

There is a short story which goes with this offering. Sometime early in
1988, someone (possibly Dan Grayson) posted copyrighted source for a
`make' to Usenet. I used it and modified it somewhat, and then lost my
hard disk. Having found this program to be very useful, I set about
rewriting it from my recollection of the source that I had seen. I have
asked Rahul (moderator of if he could trace the
original submitter, and have also posted a note to the net in c.b.i.p.d,
trying to locate this person. So far, no trace has been found. I
really would like to show this source to him(and hopefully have him
agree that it is not the same as his).

I have based my algorithms on this previous source code. These are not
copyrightable, so I feel that I have not infringed upon anyone's rights.
Also, I feel that I have acted in good faith trying to trace this
person. I hope that recipients of this code feel the same. I am
releasing this into the public domain. You may do anything you wish
with it, even copyright it yourself and try to sell it as your own.
Good luck, and have fun.


Greg Yachuk Informix Software Inc., Menlo Park, CA (415) 926-6300
{uunet,pyramid}!infmx!greggy why yes, I DID choose that login myself

  3 Responses to “Category : Miscellaneous Language Source Code
Archive   : MAKE15.ZIP
Filename : README

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: