|
|||
Release Notes -- Alcatel-Lucent nmake lu3.4
June 2001 2. New Features Introduced in Release lu3.42.1 Introduction of dependency-based Java build supportDependency-based Java build support is provided through the new :JAVA: operator and requires the external javadeps package available for download from the nmake web site: http://www.bell-labs.com/projects/nmake/release/jdeps.html
The
Since commonly used Java compilers have a high startup overhead,
The
:JAVA: files-or-directories
Java files to be built are specified by the right hand side arguments. There must be at least one right hand side argument. Each right hand side argument specifies a pathname and may one of the following types:
Please see the man page at 2.2 Probe hintsThe probe_hints file provides a convenient and flexible way to specify local installation overrides for selected probe variables. Using this approach, nmake administrators provide a probe_hints file that is separate from the automatically generated probe file. Probe consults the probe_hints file whenever it generates a probe file, and uses the information in this file to guide the probe. The probe_hints file is supported for nmake configuration information only, not for cpp information. The probe_hints file is a user-provided shell script which overrides selected probe variables by setting shell variables to the preferred values. Use of a probe_hints file has a number of advantages over direct editing of the generated probe information file:
Please see Appendix A of the nmake User's Guide for details on creating a probe_hints file. 2.3 Improved support for Sun WorkShop(TM) 6 C++ compilerNew cpp support for Sun's SUNWCCh standard include rewriting rule as described in Section 5.7.4 "Standard Header Implementation" of Sun's C++ User's guide. For example, this allows cpp to search for include file <string.SUNWCCh> on Solaris 8 when <string> is included. To facilitate this behavior a new cpp pragma, suffixsunwcch, has been introduced and is set automatically by the probe tool. 2.4 Support for C++ implicit includesSome C++ compilers are able to search for "implicit include" files to find template definitions. Since nmake's automatic file dependency generation is based on explicit #include statements, implicitly included files may not be set up as dependent files. Modifying these files may not cause the appropriate recompilations. now a warning message is emitted at run time if the compiler has an implicit include feature in effect and the compiler provides some way to disable the feature. The warning message is stored in the baserules variable implicit_template_definition_warning. The warning may be suppressed by setting the variable to null. If implicit_include=1 then nmake will attempt to emulate commonly used C++ implicit template definition search rules and automatically set up the required implicit header file dependencies. However, complete emulation of compiler implicit search rules cannot be guaranteed. The only foolproof approach is suppression of the compiler implicit include feature and use of explicit #includes. 2.5 cc-% support for adding flags to CCFLAGSThe cc-% feature has been extended to include cca-% and cca+% to add flags to CCFLAGS instead of replacing the flags. For example:
CCFLAGS = -i -s
hello :: hello.c
$ mkdir cca-g
$ nmake cca-g
cca-g:
+ cc -i -s -g -I- -D_TRACE_ -c ../hello.c
+ cc -i -s -g -o hello hello.o
$ ls -l cca-g
total 416
-rw-r--r-- 1 nmake sablime 5180 May 25 14:44 Makefile.mo
-rw-r--r-- 1 nmake sablime 13675 May 25 14:44 Makefile.ms
-rwxr-xr-x 1 nmake sablime 180224 May 25 14:45 hello
-rw-r--r-- 1 nmake sablime 3716 May 25 14:45 hello.o
2.6 Scoped CCFLAGS for :: operatorCCFLAGS may be set in the prerequisite list of a :: operator. The setting will be valid for the corresponding target and not the entire Makefile. One or more flags may be specified with a single CCFLAGS definition. For example:
:ALL:
abc :: abc.c CCFLAGS+="-g -Xt"
xyz :: xyz.c
$ nmake
+ cc -O -g -Xt -I- -c abc.c
+ cc -O -g -Xt -o abc abc.o
+ cc -O -I- -c xyz.c
+ cc -O -o xyz xyz.o
2.7 New what_version_nmake commandA new command, what_version_nmake, has been added to the nmake package. Run what_version_nmake to see the version of the nmake release and latest patch applied. Use the -v (verbose) flag to get a full list of all patches applied plus the version strings from various nmake components. The new file <nmake_root>/lib/make/version contains the current version information. [Table of Contents] [Previous Section] [Next Section] Last Update: Wednesday,20-Dec-06 13:22:09 CST
|
|||