tar@hilbert.math.ksu.edu (Tim Ramsey) (05/30/90)
Ug. I'm fed up with the make that came with MSC 5.1. Can anyone point me to a reasonable implementation of make (reasonable == comes close to BSD make or ATT augmake)? How about a MSDOS port of GNUmake? Something available via FTP would be best. Please reply by email. Thanks in advance for any help. Tim -- Tim Ramsey (tar@hilbert.math.ksu.edu) Dept. of Mathematics, Kansas State University, Manhattan KS 66506 Phone: (913) 532-6750 (voice) 2-7004 (FAX)
NU013809@NDSUVM1.BITNET (Greg Wettstein) (05/31/90)
I have been working steadily at porting as many of the GNU utilities over to MS-DOS as I can. Using these and the recently posted MS-DOS version of the Bourne shell I have been able to create an environment on MS-DOS which is very similar to the UNIX environments that I also maintain. My lastest work has been on porting GNU Make. I think the version I have currently working is 3.65. I know that is somewhat behind the current FSF release but later releases have come out faster than I can retro-fit the patches. The version of GNU Make I am running seems to work reasonably well. There are some bugs that need attention but it seems to cope with most of my own internal makefiles as well as some external ones I have thrown at them. Currently it is compiled with MSC 5.1 in medium model so it may have some problems with monstrous makefiles. When I tried to compile the program large model it ceased to function. I think this is simply a matter of prototyping all functions, turning up the error checking and cleaning up the problems the compiler complains. Unfortunately time constraints have prevented me from working on that. One nice addition to GNU Make is that I taught it about the MS-DOS link command and how to make response files. If commands for a target invoke link and the expanded arguement list is too long the arguement list is parsed into its component parts and written into a response file which is then fed to the linker. I also modified the program so that if the shell (command.com) needs to be run a batch file is created that checks the error level of each command that is executed so that MAKE can trap any errors. This is required because as everyone knows most versions of command.com do not reliably return the error level of any commands it executes. The other area that needs attention is the size of the executable. Compiling to optimize for size and linking with all switches to reduce executable size still leads about a 100K executable. I would imagin that recursive MAKES are going to be a problem.... I looked at the swapping code from the MSDOS Bourne shell that was posted and I think this could be incorporated into the code with very little work, but again I haven't had time to tangle with it. I posted this to the group because I thought there might be some general interest in the port. I would be willing to send context diffs against virgin GNU releases or an executable (or both) to Mr. Davidsen if there is sufficient interest. As always, Dr. G.W. Wettstein NU013809@VM1.NoDak.EDU