|
|||
Release Notes -- Alcatel-Lucent nmake lu3.3
June 2000 2. New Features Introduced in Release lu3.32.1 Improvements to ProbeThe nmake probe tool runs various tests on the compiler to determine key characteristics of the compiler and system environment. Various improvements have been made to make probe more robust and user friendly. The most noticeable change in this release is the addition of comments in the generated make probe file to give users a better understanding of the probe setting. 2.2 Export nmake Variables to ShellVariables set in a makefile can be exported to the shell and used by shell action blocks. In the past it was necessary to explicitly set a variable in the shell action block in order for shell commands in that action block to use the variable. In lu3.3 the MAKEEXPORT variable is a colon separated list of nmake variables which are to be exported to the shell environment for each shell action. The following example exports variables A and C to the shell. Notice C is being set on the command line.
$ cat Makefile
A = aaa
B = bbb
C = ccc
MAKEEXPORT=A:C
test :
: make variable A = $(A)
: make variable B = $(B)
: make variable C = $(C)
: shell variable A = ${A}
: shell variable B = ${B}
: shell variable C = ${C}
$ nmake C=abc
+ A=aaa
+ C=abc
+ : make variable A = aaa
+ : make variable B = bbb
+ : make variable C = abc
+ : shell variable A = aaa
+ : shell variable B =
+ : shell variable C = abc
2.3 Lucent C++ Instrument SupportThe Lucent C++ 4.1, and 5.x compilers accepts the flags --purify and --quantify to use the Purify and Quantify development tools respectively. lu3.3 recognizes compilers that support such options and will invoke the compile with the appropriate flag with the corresponding instrumentation tool. For example:
$ nmake CC=/opt/CC/4.1/CC instrument=/opt/purify4.1/purify
+ /opt/CC/4.1/CC -O --prelink_copy_if_nonlocal -I- -D_INSTRUMENT_ -c hello.c
+ PURE_HOME=/opt/purify4.1 PATH=/opt/purify4.1$PATH /opt/CC/4.1/CC --purify
-O --prelink_copy_if_nonlocal -o hello hello.o
2.4 Include Makefile ExpansionThe new nmake -p flag can be used to expand the include statements in makefiles showing you which included makefiles are being referenced. The expansion shows the file name of the included makefile followed by the contents of the included makefile. Global makefiles specified with the -g flag are also expanded. Nested includes are fully supported, and include statements both inside and outside of action blocks are supported. When the -p flag is used a .mi file (ie. Makefile.mi) is created which contains the fully expanded makefile. The .mi file can be examined when debugging makefiles using include statements. The following example shows the .mi file created after running nmake -p:
$ cat Makefile
include $(VROOT)/project.mk
hello :: hello.c
$ cat Makefile.mi
/*Beginning Makefile*/
include $(VROOT)/project.mk
/*Beginning ../project.mk
CC = cc
CCFLAGS += -g
Ending ../project.mk*/
hello :: hello.c
/*Beginning /tools/nmake/sparc5/lu3.3/lib/probe/C/make/BFE0A4FEobincc
CC.CC = /tools/sun_workshop/SUNWspro/bin/cc
CC.ALTPP.FLAGS =
CC.ALTPP.ENV =
...
Ending /tools/nmake/sparc5/lu3.3/lib/probe/C/make/BFE0A4FEobincc*/
/*Ending Makefile*/
2.5 More Control of :LIBRARY: for Shared LibrariesTwo new base rules variables, sharedlibvers and sharedliblinks, gives the user greater control over the creation of shared libraries using the :LIBRARY: operator.
2.6 EXTRASTATE Engine VariableThe new EXTRASTATE engine variable can be used to specify the name of a makefile whose state information will be used by the primary makefile. For example, specifying EXTRASTATE=another will cause reading another.ms in addition to the current state file while processing the current makefile. EXTRASTATE uses multiple statefiles just like viewpathing, except now we can use more than one .ms file in a single vpath node. EXTRASTATE was introduced to support the :cc: synchronization of state files enhancement (see 990093). [Table of Contents] [Previous Section] [Next Section] Last Update: Wednesday,20-Dec-06 13:22:09 CST
|
|||