Bugs in the AT&T Toolchest program 'nmake'

Eduardo Krell ekrell at hector.UUCP
Sat May 20 10:45:00 AEST 1989


In article <6561 at ardent.UUCP> mac at mrk.ardent.com (Michael McNamara) writes:

>	I would strongly suggest that you get your money back from
>AT&T for nmake, and get gnu-make from the Free Software Foundation.

Why would you want to do that? nmake is much more powerful than
gnu-make.

>	nmake is 1) quite buggy, and 2) does not use standard
>makefiles.

That particular version of nmake being distributed by the Toolchest
might be buggy, but newer versions are not.

Of course it doesn't use standard makefiles: they specify too much
details. nmake makefiles are smaller by an order of magnitude.

>	gnu-make is 1) free, 2) can use standard makefiles 3) has the
>multiple jobs, load average sensitivity and other featues of nmake.

But can gnu-make prevent you from running simultaneous yacc jobs
on the same directory? This wouldn't work as yacc uses a fixed file
name (y.tab.c) which would be overwritten by the multiple yacc's
(yes, nmake does know about yacc and other tools which can't be run
in parallel).

>	gnu-make also has non standard makefile extentions, but you
>do not need to use them to get the power of parallel make, which is
>what I consider to be the main virtue of nmake & gnu-make.

The parallel jobs facility is not the main virtue of nmake. The main
virtue of nmake is that it uses a statefile to record what it does
and it doesn't just rely on time stamps on the files to determine
whether they need to be recompiled or not. This guarantees that
all (and only those) files which need to be recompiled will be.

Other big wins:

* The implicit dependency on #include'd files (which nmake finds
  out on its own).

* Automatic generation of -I flags for the compiler for each source
  file to look in the right directories where header files are.

* The use of global makefiles with rules tailored to a particular
  environment/project.
    
Eduardo Krell                   AT&T Bell Laboratories, Murray Hill, NJ

UUCP: {att,decvax,ucbvax}!ulysses!ekrell  Internet: ekrell at ulysses.att.com



More information about the Comp.unix.wizards mailing list