www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1992/02/13/18:29:55

Date: Thu, 13 Feb 92 23:24:43 +0100
From: opheys AT eva DOT fmi DOT uni-passau DOT de (Thomas "Sledge" Opheys)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: SUMMARY: Make utilities
Status: O

Following is a summary of responses I got after asking you for your 
hints on good MAKE utilities.


ebert AT enpc DOT fr said: (translated)
The best Make I know is GNU-make. Disadvantage: it`s really huge and it has
got a lot of features that you probably never use. 


ohoward AT kitty DOT ksu DOT ksu DOT edu said:
I just started using djgpp/cc and tried gnumake, but found it to be
very poor.  Someone recommended ndmake45 to me and I used it _almost_
without modification on some least-squares routines I'd written on a
sun/sparc.  I'd recommed it.  I know its at wuarchive.wustl.edu somewhere
in mirrors/msdos.


des AT inmos DOT co DOT uk said:
I've started to use NDMAKE v4.5 which claims to be UNIX-like, and
for my current small attempts does what i expect.

it has the additional advantage of creating response files where
necessary - the disadvantage is that it generates them in a form that
MSC would like (i.e. putting a + at the end of each line), but i wrote
a short bit of code to strip these (well in fact i have a "wrapper"
command that either executes its arguments if it isn't a response file
or extracts the first argument from a response file and strips the +'s
and then executes the first agument with the rest of the munged
response file). i compiled this with an ancient version of zortech c
(v1 small model only about 25 pounds 3 years ago! - it has a make which
is vaguely UNIXy - much more so that the microsoft joke!) but i you
could use gcc for this.

i had a look at dmake but since SunOS make seemed to dislike its
makefiles i decided their could be compatibility problems.

also there's always GNU make .... but that is a superset of traditional
UNIX so you can use features that won't work on a standard UNIX
make.


ajh AT gec-mrc DOT co DOT uk said:
I use dmake 3.7; is is very powerful and entirely compatible with UniX (BSD,
etc.) make. It works very well with djgpp. It has nice features like swapping
itself out during compiles to give djgpp more room. Available from most good
PC archive servers.


ericb AT lsid DOT hp DOT com said:
I use the GNUISH make (it's on SIMTEL20), which is a port of GNU make
to DOS.  It works quite well, and has all the features that I would
look for in a UNIX make utility.  The GNUISH project is separate
from the GNU people, and has worked on porting GNU utilities to DOS.

There is only one drawback.  The GNUISH people decided on their own
convention for getting around the 128-character command-line limit
imposed by DOS.  (Their convention involves using environment
variables named _argc, _argv1, etc.).  Because gcc all other
non-GNUISH programs don't know this convention, you are stuck with
128-character commands in the makefile.  This is only a minor
limitation.

Which brings me to the reason I sent this to the mailing list instead
of just to Thomas.  The GNUISH convention strikes me as being better
than the "response file" method of passing long command lines, since
it involves only memory rather than disk access.  Are there drawbacks
to the GNUISH method that I'm not aware of?  If not, could we get go32
to handle this method in addition to the "response file" method?  I'd
be willing to write the code, but I don't have an C compiler other
than DJGPP, so I can't mopdify the extender.


dj AT ctron DOT com said:
My hope was to get a version of Make that not only understood how to
pass long command lines to go32 programs (gcc.exe does it all the
time), but also recognized a.out format executables and supplied the
go32 automatically.  This would help with unix Makefiles that do the
compile and then expect to be able to run the executable directly.

Does anyone know how to get a set of sources that builds the Gnuish
Make?  That would be the best starting point, although I don't have
time to do it myself (that's what loyal followers are for :-))



Summary:

GNU-Make     Naturally this is the most UNIX compatible MAKE.
             Loaded with a lot of features. 
              
GNUISH Make  Port of GNU-Make for DOS. Features see GNU-Make.
             Uses environment variables when command lines are
             longer than 127 chars. (Won't help with GCC)

NDMake 4.5   UNIX-like. Feature: creates response files where 
             necessary (wont' help with GCC). Only some minor
             changes necessary in makefile.

DMake 3.7    Probably not totally UNIX compatible (SunOS problems),
             but in general it's a powerful utility.
             Swaps out when running programs to save memory.

I found a lot more MAKE implementations, but I think the above ones
are the most suitable for GCC under DOS. All of them have minor
incompatibilities that make changes in the makefile necessary. One 
thing everyone seems to miss is a possibility to go around the DOS
command line limit of 127 characters.

Thomas   (opheys AT valeska DOT fmi DOT uni-passau DOT de)



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019