Dec 232017
Excellent Make program that is BSD compatible (with C source code) for MSC 5.1 and UNIX C compilers. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
BUILD.C | 5085 | 2017 | deflated |
DECL.H | 2803 | 805 | deflated |
DEFAULT.BSD | 1682 | 645 | deflated |
DEFAULT.MK | 2722 | 925 | deflated |
MAKE.C | 18499 | 5555 | deflated |
MAKE.DOC | 17438 | 5912 | deflated |
MAKE.H | 3429 | 1252 | deflated |
MAKEFILE | 1304 | 584 | deflated |
MAKEFILE.BSD | 1184 | 528 | deflated |
MANIFEST | 564 | 170 | deflated |
PARSE.C | 17792 | 5370 | deflated |
README | 4830 | 2218 | deflated |
TSTRING.C | 5790 | 2114 | deflated |
TSTRING.H | 1297 | 513 | deflated |
Download File MAKE15.ZIP Here
Contents of the README file
Make Version 1.589-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) default.mk for BSD Unix.
Updates, additions and corrections are welcomed. The shar distribution
has the filenames reversed from the ZOO distribution:
ZOO distributionshar distribution
---------------------------- --------------------------
makefilemakefile.bsdmakefile.dosmakefile
default.mkdefault.bsddefault.dosdefault.mk
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.mk default.dos
mv default.bsd default.mk
make
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
comp.binaries.ibm.pc 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 make.man).
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 comp.binaries.ibm.pc) 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
Greg YachukInformix Software Inc., Menlo Park, CA(415) 926-6300
{uunet,pyramid}!infmx!greggywhy yes, I DID choose that login myself
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) default.mk for BSD Unix.
Updates, additions and corrections are welcomed. The shar distribution
has the filenames reversed from the ZOO distribution:
ZOO distributionshar distribution
---------------------------- --------------------------
makefilemakefile.bsdmakefile.dosmakefile
default.mkdefault.bsddefault.dosdefault.mk
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.mk default.dos
mv default.bsd default.mk
make
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
comp.binaries.ibm.pc 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 make.man).
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 comp.binaries.ibm.pc) 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
Greg YachukInformix Software Inc., Menlo Park, CA(415) 926-6300
{uunet,pyramid}!infmx!greggywhy yes, I DID choose that login myself
December 23, 2017
Add comments