Nokia Networks Home

Nokia nmake Product Builder

Quick Links

Related Products

Release Notes -- Nokia nmake alu3.9

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

4. Changes Impacting lu3.8 Makefiles

The changes in release alu3.9 are largely backward compatible with lu3.8. Every effort has been made to insure code changes do not unexpectedly change the documented behavior of nmake features.

The following may impact builds and require changes.

4.1 Defining a .MAKEDONE rule

Description
The default baserules now define a .MAKEDONE rule. Locally defined .MAKEDONE rules should still work as expected. Local rules defined as .MAKEDONE prerequisites should also work as expected unless they are defined as .USE rules. Those defined as .USE rules will not be triggered.
Who is affected
Projects that define a local .MAKEDONE prerequisite rule with .USE. For example:
.MAKEDONE : .localdone
.localdone : .USE .VIRTUAL .FORCE
        silent echo "Build Complete"
What to do
In this case the .USE special atom is not needed. Remove .USE and the rule will work again.
.MAKEDONE : .localdone
.localdone : .VIRTUAL .FORCE
        silent echo "Build Complete"

4.2 The MAKEVERSION variable

Description
The string "Lucent(R)" was changed to "Alcatel-Lucent" in the MAKEVERSION variable.
Who is affected
Projects checking the MAKEVERSION variable for "Lucent(R)".
What to do
Adjust your makefiles to match the new string. MAKEVERSION expands as follows:
Alcatel-Lucent nmake (Bell Labs) alu3.9 06/15/2007

4.3 The maxjavawarn variable

Description
The maxjavawarn variable is obsolete and is no longer used. The variable was introduced in release lu3.8.
Who is affected
Projects that define maxjavawarn.
What to do
The definition can be removed but keeping it defined will cause no harm.
See also
New Features and Enhancements - Java and Jar performance improvements

4.4 The recurse_begin_message variable

Description
Usage of the recurse_begin_message and recurse_end_message variables has changed slightly. The $PWD shell variable in recurse_begin_message and recurse_end_message no longer works because the messages are output using the nmake print command rather than sent to the shell. The nmake $(PWD) variable works.
recurse_begin_message and recurse_end_message strings beginning with a + or other nmake "print" option flags fail. Use "--" to terminate print command option processing.
In the new implementation the custom recurse messages are output by the recursive nmake invocation, in the old implementation the messages are output before recursing. recurse_begin_message and recurse_end_message need to be defined in the recursively called Makefile. May want to consider putting the message definitions in the project's global makefile.
There are aliases available for gnu make style and traditional nmake style recurse messages (recurse_begin_message=gnu and recurse_begin_message=default respectively). Also, when recurse_begin_message is anything other than the default then recurse messages are printed for every recursive make, not just those using :MAKE:, including user defined actions. You may notice more recurse messages in the build output.
Who is affected
Projects that define recurse_begin_message.
What to do
If using $PWD or ${PWD} shell variables in recurse_begin_message or recurse_end_message change to $(PWD) nmake variable.
If recurse_begin_message or recurse_end_message begin with a + or other nmake print option flag add -- to the beginning. For example:
recurse_begin_message = -- + Entering directory $(PWD)
recurse_end_message = -- + Leaving directory $(PWD)
If gnu make style messages are hard coded in recurse_begin_message and recurse_end_message you can now optionally use the "gnu" alias to define both automatically:
recurse_begin_message = gnu
See also
Bug fixes and enhancements - integrate eclipserules.mk


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

Last Update: Friday,12-Aug-2016 12:30:42 EDT