Nokia nmake Product Builder
Release Notes -- Nokia nmake lu3.6
[Table of Contents]
The following is a list of known problems:
- 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.
- 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.
- 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,
CC.REPOSITORY is defined, and
is used to trigger the metarule. Note that
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
- 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
- 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.
- 020077 - code rebuilds with localprobe=vpath
Under certain conditions source files will be recompiled when
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
VPATH=/build/x1:/build/y1 will not rebuild,
- 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
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.
- 020051 - first metarule is used by mistake
When multiple metarules generate the same source file target,
%.c, the first metarule defined will be triggered
instead of the metarule matching the file prerequisite suffix.
- 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
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.
- 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
.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
- AIX - The AIX package does not have the global
version strings in the binary executables.
- :LINK: does not handle archive files that are
generated by :: or :LIBRARY: assertion operators.
Users should avoid use of :LINK: on archive files.
- When the cpp -I-S flag is on, -D-M is disabled.
Users should not use these two flags together.
- 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]
Last Update: Friday,12-Aug-2016 12:32:39 EDT