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)