[comp.binaries.ibm.pc.d] Want an intelligent make for MSDOS

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