Nokia Networks Home

Nokia nmake Product Builder

Quick Links

Related Products

Release Notes -- Nokia nmake 11

July 2009
[Table of Contents] [Previous Section] [Next Section]

3. Bug Fixes and Enhancements

3.1 Baserules

  1. 050040 - shared library updated with wrong filename
    Under certain conditions when using :LIBRARY: to make a shared library and linking an application with the library in the same makefile, the library would be generated with the wrong filename when it was updated in a new viewpath node. This has been fixed.
  2. 050042 - should not link with shared lib .so filename
    Under certain conditions when using :LIBRARY: to make a shared library and linking an application with the library in the same makefile, the application would be linked using the library's filename rather than the -lname flag when the application was updated in a new viewpath node. This has been fixed.
  3. 050060 - double colon target ignored with only lib prereqs
    Double colon targets with only library prerequisites were not being built. Such targets are no longer ignored and are built as expected. An example of such a target is --  mycmd :: libabc.a
  4. 070042 - tries to link with non-existent shared library
    Three errors were fixed when an executable target name matches a prerequisite library name (eg. abc :: main.c -labc). In case the prerequisite library doesn't exist nmake now gives an error message instead of trying to link the executable with the non-existent library. In case the prerequisite library does exist and is a shared library nmake now correctly specifies the -lname flag to link with the library instead of specifying the library's file name. In case the library is an archive library made in the same makefile nmake now specifies the correct link command line to link with the library.
  5. 090004 - dot has changed message in explain output
    The unnecessary ". has changed" message produced by the -e explain option has been eliminated.

3.2 cpp

  1. No changes to cpp in this release.

3.3 Engine

  1. 060061 - core dump from empty scanrule
    A .SCAN assertion with no rule defined no longer causes nmake to core dump.
  2. 070009 - Makeargs core dump
    Fixed a problem that caused a corrupt rule name which sometimes lead to a core dump when a Makeargs file was used.
  3. 080013 - aix showing trap shell trace
    Unexpected shell trace output on AIX platforms when building archive libraries has been eliminated.
  4. 080017 - provide W3C conformant time zone designator
    The time format output from the :F=%(format)T edit operator now supports a time zone format in accordance with conventions defined by the World Wide Web Consortium.
    For details see - New Features and Enhancements: W3C conformant time zone designator.
    See also - Changes Impacting nmake 11 Makefiles: Date format field %z.
  5. 080019 - expandinclude core dump
    nmake no longer core dumps when "set expandinclude" is used in a makefile to enable the expandinclude option. When enabling this option in a makefile instead of using the -p command line option a warning is included in the generated .mi file to remind the user that statements prior to the option are omitted and the command line option should be used to capture everything. Both expandinclude and noexpandinclude are supported and may be set multiple times to turn the option on and off for capturing sections of the makefile.
  6. 090000 - :cc: causes canceled action when prereq is removed
    When a target had at least one prerequisite built by :cc: and a non-:cc: prerequisite was removed the target wasn't updated. An update of the target is now properly triggered.
  7. 090001 - extend buildlog XML format
    The engine was enhanced to facilitate the output of XML tags before and after all other messages output by the engine.

3.4 Operators

  1. 040011 - :cc: only supports .c files
    The :cc: operator now supports files with the following file name suffixes: .c, .C, .cc, .cpp, .cxx. These are the same C/C++ suffixes that are supported by the default metarules to generate .o files. Files with these suffixes specified on the RHS of :cc: are compiled with the $(cc) (lower case) compiler. Previously only files with a .c suffix were compiled with $(cc) and other files were ignored by :cc:.
  2. 040055 - :COPY: does not make destination directory
    The :COPY: operator now makes the destination directory if it does not already exist. Previously a non-existent directory would cause an error. The :LINK: operator was also enhanced to always make the destination directory if it doesn't exist. Previously :LINK: only made the directory if the .ALL atom was made which could lead to situations where the directory was not created. The new behavior improves consistency with both operators.
  3. 060048 - request more standard shared library naming
    Several enhancements were made to the :LIBRARY: operator for making a shared library without disabling the library version number.
    For details see - New Features and Enhancements: Enhancements to versioned shared libraries.
    See also - Changes Impacting nmake 10 Makefiles: Versioned shared libraries, Shared library .no file
  4. 070035 - JAVAPACKAGEROOT errors
    The cause of several false package root errors from Javadeps has been fixed. The :JAVA: operator now normalizes paths to avoid these errors when possible.
  5. 080020 - :JAR: clobber removes prereq class file
    After removing a prerequisite file (or a RHS pattern) from a :JAR: assertion in a makefile and updating the jar, a subsequent clobber common action would remove any files corresponding to the deleted prerequisite from the file system. This has been fixed, :JAR: should not remove files it didn't generate.

3.5 Probe

  1. 080016 - probe_hints missing CC.MEMBERS.UNDEF and CC.STDINCLUDE.OMIT
    The following probe variables were not available in the probe_hints script. They are now being properly exported and imported for probe_hints support: CC.MEMBERS.UNDEF, CC.PRELINK, CC.STDINCLUDE.OMIT

3.6 Miscellaneous

  1. 030045 - allow users to set $makelog without triggering taglines
    Setting the makelog variable and running nmake directly (without using nmakelog) is now supported and does not result in the extra output from taglines.
  2. 080014 - refine structured build log implementation
    Support for structured build logs has been refined and extended making the feature more robust.
    For details see - New Features and Enhancements: Refined structured build logs.
  3. 080022 - man pages should reference product manuals
    The man pages now reference and provide links to the user manuals.
  4. 080025 - expandinclude -p option missing from man page
    The following options were missing from the nmake man page and have been added: -B / believe, -p / expandinclude, -N / never, targetcontext. A description of the viewpath feature has also been added.
  5. 080028 - command to generate W3C conformant date strings
    A new command called astutil is included in the nmake package.
    For details see - New Features and Enhancements: New command - astutil.
  6. 090001 - extend buildlog XML format
    Added a new container element delimiting the output of each Makefile.
  7. 090007 - build log transformation
    A new experimental command called buildlog2html is included to generate HTML build logs from an XML structured build log.
    For details see - New Features and Enhancements: New command - buildlog2html.

3.7 Variables

  1. Change to variable makelog - see 030045.
  2. Change to variable preserve - see 060048.
  3. Change to variable CC.MEMBERS.UNDEF - see 080016.
  4. Change to variable CC.PRELINK - see 080016.
  5. Change to variable CC.STDINCLUDE.OMIT - see 080016.

3.8 Options

  1. Change to option -p / expandinclude - see 080019.

[Table of Contents] [Previous Section] [Next Section]

Last Update: Friday,12-Aug-2016 12:24:38 EDT