Nokia Networks Home

Nokia nmake Product Builder

Quick Links

Related Products

Release Notes -- Nokia nmake lu3.6

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

5. Known Problems and Remarks

5.1 Known Problems

The following is a list of known problems:

  1. 980009 - problem in link=*
    The problem about using link=* to install targets in any adjacent nodes in viewpathing still exists. You may still use link=* to install, but only in alternate nodes.
  2. 030042 - :cc: generated header rebuild
    If a C file is built by using :cc: and this C file shares a generated header file with a C++ file specified in the same makefile, the generated header file may get regenerated during the build causing the source files to keep recompiling. This can be avoided by building the C++ files before the C files, or by generating the header file in a separate makefile at an earlier time during the build.
  3. 990099 - metarules not searched when CC.REPOSITORY is set
    The metarules may not be searched under the following conditions: there is a user defined metarule for a non-compiled file, variable CC.REPOSITORY is defined, and :: is used to trigger the metarule. Note that CC.REPOSITORY is defined automatically for some C++ compilers in the probe file. The work-around is to add .IMPLICIT to the :: assertion, or to not use the :: assertion (such as add the target to :ALL: instead.)
  4. 020018 - adding shared lib building in same makefile won't relink
    An executable target will not be relinked when a shared library that is built in the same makefile is added as a prerequisite to the executable. The work-around is to set force_shared=1.
  5. 020062 - archive libraries rebuild when using arclean
    Archive libraries may be rebuilt when two or more libraries share at least one object file and the arclean variable is defined. The shared object files are typically recompiled and re-archive every other build.
  6. 020077 - code rebuilds with localprobe=vpath
    Under certain conditions source files will be recompiled when using localprobe=vpath. This can happen when the probe file is moved from one viewpath node to another node, or when adding a new, empty node to the front of the viewpath and the viewpath root nodes differ by more than one directory level at the end of their paths (for example, VPATH=/build/x1:/build/y1 will not rebuild, but VPATH=/build/x1/x2:/build/y1/y2 will.)
  7. 020095 - multiple shared lib targets get extra .o files
    When using a compiler that supports -xar (such as Sun's Solaris C++ compiler) and using the :: operator to build a shared library, the library will be generated with the object file prerequisites from all :: assertions in the makefile. This may result in link errors or the library containing more code than intended.
  8. 020051 - first metarule is used by mistake
    When multiple metarules generate the same source file target, such as %.c, the first metarule defined will be triggered instead of the metarule matching the file prerequisite suffix.
  9. 030038 - inconsistent include prefixes causes dropped -I flag
    When two source files in the same makefile include the same header file using different path prefixes (for example #include "dir/file.h" and #include "file.h") incremental builds may have compilation errors due to missing -I flags on the compile line. The work-around is to use consistent directory prefixes in the include statements. Re-ordering the source code in the makefile may also cure the problem.
  10. 030041 - missing -I flags when using prefixinclude
    Under rare conditions some compiler -I flags are omitted from the compile line. This has been observed when a rule triggered from .INIT copies header files to some directory, the header copies are #included by source code in the same makefile, and prefixinclude=1. The work-around is to disable prefixinclude by setting prefixinclude=0.

5.2 Remarks

  1. AIX - The AIX package does not have the global version strings in the binary executables.
  2. :LINK: does not handle archive files that are generated by :: or :LIBRARY: assertion operators. Users should avoid use of :LINK: on archive files.
  3. When the cpp -I-S flag is on, -D-M is disabled. Users should not use these two flags together.
  4. Users should avoid including the same header file with both <...>-style and "..."-style #include statements in source files managed by a single makefile. nmake will assign .STD.INCLUDE and .LCL.INCLUDE attributes to the header file, and this can result in incorrect -I lists in the compiler command lines generated.

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

Last Update: Friday,12-Aug-2016 12:32:39 EDT