Article View: comp.os.msdos.programmer
Article #389Summary: P.D. MAKE for msdos
From: Glauber Ribeiro
Date: Tue, 11 Aug 1992 06:02
Date: Tue, 11 Aug 1992 06:02
172 lines
7114 bytes
7114 bytes
Flashback:
A few weeks ago i started my quest for a "make" utility for
MessyDos, in order to replace the one that comes with Clipper5
(rmake, the kludgiest, klutziest make program ever made). My
requirements:
- it must be on public domain
- it must accept unix makefile syntax
- it should hog as little memory as possible
- it must be self-contained (only the make.exe and the
makefile, nothing more should be necessary for it to run)
Well,
After writing and rewriting my makefiles dozens of times,
every time when i thought i had found the perfect MessyDos Make,
after going through mailserver hell (i don't have ftp), i found
that there isn't a perfect make utility for MessyDos yet.
Don't despair, though, you can get pretty close, if you have
the guts. Here are my choices (with the locations in simtel20,
which is the most accessible for me):
(1) My personal choice: GNUISH MAKE
This is a port done by the legendary Thorsten Ohl, of GNU
make 3.58 (beta version). It is public domain, fully unix-
compatible, with some extra features, and is the best make utility
for msdos. It has also the best memory management. When it swaps
itself out to disk or to EMS, this make takes only about 6k of
memory to run, which is pretty amazing (considering that almost
all others take between 80k and 100k!).
There are 2 catches. The first one is that for some weird
reason, the GNUISH ports come without any documentation! You can
use an unix man page, if you can get one, but you will be missing
some extra features that can make your work easier. After hours
and hours of searching, i finally found documentation for unix GNU
make 3.62, in "textinfo" format. This documentation is in TAR.Z
format (TAR-Z, in simtel), and the names are VERY msdos-hostile.
Be warned. Either untar it on an unix machine or find a tar
utility that does some fancy (repeat fancy) filename translation.
Put the textinfo files together and you end up with about 130
pages of documentation, which is probably more than you need, but
what the heck?!
Second catch is, there is an irritating inconsistency in
dealing with the backslash. You normally have to use 2 backslashes
instead of 1 (e.g,: c:\\dos\\edit instead of c:\dos\edit). UNLESS
the backslash appears on a line that is an internal messydos
command (e.g.: "dir c:\dos\*.*" is correct). Moreover, it doesn't
recognize "cls" as a valid msdos command (use "command /c cls",
instead). If you can live with these booboos, you will love this
program.
Directory PD1:<MSDOS.GNUISH>
| Filename Type Length Date Description
+---------------------------------------------
MAKE358.ARC B 223462 901004 GNU Automated recompilation utility
(This is the MSDOS executable)
Directory PD:<UNIX-C.GNU>
| Date Length Type Where What
+----------------------------------------------------------------------
03/29/92 396048 binary PD:<UNIX-C.GNU>MAKE.TAR-Z source (Unix)
03/29/92 252825 binary PD:<UNIX-C.GNU>MAKE-DOC.TAR-Z documentation
(This is the documentation, and
the source for unix, not dos)
----------------------------------
(2) Tied in with GNU, as the other best msdos make: DMAKE
This one is more solid than the current GNUISH version, and
does pretty much the same tricks (but with different syntax). It
swaps itself out, taking about 20k of memory. It is also public-
domain. The documentation is very good, very through. The only
reason i can't use this one is that it insists that you must leave
a file with initialization parameters in a directory called
"\etc"), and i needed a program that can function on its own. You
should try this one, together with GNU, and decide for yourself.
Directory PD1:<MSDOS.C>
| Filename Type Length Date Description
+---------------------------------------------
DMAKE37E.ZIP B 145813 910512 'make' util for MS-DOS C programmers. EXE/doc
DMAKE37S.ZIP B 514590 910512 C src: 'make' util for MS-DOS & Unix SysV/BSD
----------------------------------
(3) The best of the also-rans: MAKE-PD
This one has been circulating on the net, on several
mutations. It is 99% unix-compatible, it's pd, it comes with
source, it uses about 80k of memory. The thing it doesn't do, the
reason why it didn't serve me, is that it doesn't allow for
redefinition of macros on the commandline. On other words, macros
in the makefile override the ones on the commandline, and they
shouldn't. Unfortunately, in the project i needed a make for, this
was unacceptable. Still, it is a nice program, and may very well
fit your bill. No documentation (get an unix man page, since this
is basically "vanilla" unix make). The one in this archive
is optimized/compiled by Rahul Dhesi, which is always a good
point.
Directory PD1:<MSDOS.C>
| Filename Type Length Date Description
+---------------------------------------------
MAKE-PD.ARC B 42496 870222 Public domain MAKE
----------------------------------
(4) A good sharewhare make: NDMAKE
If sharewhare is ok for you, look no further. Simple, unix-
compatible with some specific msdos features, this is probably the
easiest to use. It has good documentation also.
Directory PD1:<MSDOS.C>
| Filename Type Length Date Description
+---------------------------------------------
NDMAKE45.ARC B 119028 880129 Unix-like MAKE for DOS C programmers v4.5
----------------------------------
(5) The best of the non-compatibles: BORLAND MAKE
If you own Turbo Pascal/C/Assembler, you probably have
Borland's make as well. It is not unix-compatible, but it's fast,
easy to use and efficient. Give it a try. The documentation is
almost non-existent, except for pages 173-205 of Turbo Assembler
Reference Guide. You need to read those pages, because it works a
bit differently from unix make. One very good point is the
way it handles "response files" for the linker.
----------------------------------
That's all, folks! Thanks to all who helped, and good making!
Special thanks to (in no particular order):
Bill Parquet,
John R. Latala
Gene McManis
Frank Whaley
who walked the third mile to help me. Any questions about
this report, feel free to email me directly.
Glauber
--
Glauber Ribeiro - Wheaton College, IL (USA)
email: glauber@vpnet.chi.il.us
big files and uuencoded stuff: gmribeir@david.wheaton.edu
Technical Details
Message-ID:
<1992Aug11.060205.18285@vpnet.chi.il.us>Path:
arc1-ca.pugleaf.net!sparky!uunet!gatech!rpi!newsserver.pixel.kodak.com!laidbak!tellab5!vpnet!glauberShow Full Headers
Complete Article Headers
Newsgroups: comp.os.msdos.programmer Path: arc1-ca.pugleaf.net!sparky!uunet!gatech!rpi!newsserver.pixel.kodak.com!laidbak!tellab5!vpnet!glauber From: glauber@vpnet.chi.il.us (Glauber Ribeiro) Subject: Summary: P.D. MAKE for msdos Message-ID: <1992Aug11.060205.18285@vpnet.chi.il.us> Organization: Vpnet Public Access Date: Tue, 11 Aug 1992 06:02:05 GMT Lines: 172