http://www.bell-labs.com/project/nmake/newsletters/
nmake release lu3.7 has recently been verified on Solaris 10 (also known as Solaris 2.10). Future releases will also be verified and supported on Solaris 10.
After some reorganization the Software Technology Center is now called the Systems Technology Center. But don't worry, the STC still does software and will continue to support nmake, Sablime® and Exptools.
If you are a Vim user and enjoy syntax highlighting you may be interested in the Vim syntax highlighting rules we put together for nmake makefiles. In general the following items are highlighted: variable references, operators, special atoms, nmake statements, comments and non-tab indentions. Here is an example screenshot of a color xterm:
Notice the .DONE action is indented with spaces instead of a tab so the indention is highlighted to show the error.
To install the syntax rules:
$HOME/.vim/syntax/nmake.vim:set syntax=on:set syntax=nmakeUnfortunately the syntax rules are not perfect. We still have some problems with very complex variable edit operations and nested variables where the entire variable string doesn't get highlighted. But the rules seem to work well in most common cases. We are by no means experts in Vim syntax highlighting so if you make any improvements or have suggestions please share them with us!
Sometimes you might want to see what is stored in the nmake state file
(eg. Makefile.ms). The following command will read the state
file and dump it in text format. (It works for the .mo file too.)
nmake -blrvf Makefile.ms
nmake has integrated support for Rational® Purify.
No special nmake rules are needed, just set the instrument
base rule variable as instrument=/path/to/purify.
To set specific purify options define the options in the
PURIFYOPTIONS or PUREOPTIONS environment variables
as stated in the purify documentation. Note, these are not nmake variables
so they must be exported in the environment. The options will not show up
on the command lines, purify reads the environment variables directly.
$ ls -l total 4 -rw-r--r-- 1 richb richb 60 Jun 22 13:27 Makefile -rw-r--r-- 1 richb richb 77 Jun 22 13:19 abc.c -rw-r--r-- 1 richb richb 40 Jun 22 13:19 hello.c $ cat Makefile CCFLAGS = -g :ALL: libabc.a :: abc.c hello :: hello.c -labc $ export PURIFYOPTIONS=-cache-dir=$HOME/purify_cache $ nmake instrument=/tools/purify/purify-4.1-solaris2/purify + cc -g -I- -D_INSTRUMENT_ -D_TRACE_ -c abc.c + ar r libabc.a abc.o ar: creating libabc.a + rm -f abc.o + cc -g -I- -D_INSTRUMENT_ -D_TRACE_ -c hello.c + /tools/purify/purify-4.1-solaris2/purify cc -g -o hello hello.o libabc.a + PURE_HOME=/tools/purify/purify-4.1-solaris2 Purify 4.1 Solaris 2, Copyright (C) 1992-1997 Rational Software Corp. All rights reserved. Instrumenting: crti.o crt1.o values-xa.o hello.o libabc.a. libc.so.1 crtn.o libdl.so.1 libc_psr.so.1 Linking $ ls -l total 456 -rw-r--r-- 1 richb richb 60 Jun 22 13:27 Makefile -rw-r--r-- 1 richb richb 6971 Jun 22 13:55 Makefile.mo -rw-r--r-- 1 richb richb 21676 Jun 22 13:55 Makefile.ms -rw-r--r-- 1 richb richb 77 Jun 22 13:19 abc.c -rwxr-xr-x 1 richb richb 423364 Jun 22 13:55 hello -rw-r--r-- 1 richb richb 40 Jun 22 13:19 hello.c -rw-r--r-- 1 richb richb 2752 Jun 22 13:55 hello.o -rw-rw-rw- 1 richb richb 3464 Jun 22 13:55 hello_pure_p9_c0_410.o -rw-r--r-- 1 richb richb 3512 Jun 22 13:55 libabc.a -rw-rw-rw- 1 richb richb 4032 Jun 22 13:55 libabc_pure_p9_c0_410.a
nmake supports other instrumentation tools such as
insight, quantify, purecov, purify, sentinel, insure and codewizard.
See the instrument base rule variable in chapter 4 of
the Reference Manual.
<<home / newsletters