The information in this article applies to:
SYMPTOMSRunning NMAKE on a very fast computer system and using the /B switch may not force NMAKE to build a target if the target has the same time stamp as it's dependent files. RESOLUTIONThe build process may need to be modified so that a target is deleted when it[ASCII 146]s dependents are updated. This could be done in the command block for the dependents. STATUSMicrosoft has confirmed this to be a problem in NMAKE versions 1.3, 1.4, and 1.5. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. MORE INFORMATION
The /B switch tells NMAKE to execute a dependency even if time stamps are
equal. However, on very fast systems, NMAKE may incorrectly determine that
a target is up to date, even when the /B switch is used. The following
information is taken from NMAKE.WRI from the MSVC\HELP directory:
del target1However, on a very fast machine, the following output is periodically generated: del target1Using the makefile shown below it is not possible for target1 to be up to date since both of it[ASCII 146]s dependents were deleted and recreated after target1 already existed. The file target1 would have to have a time stamp that was at least equal to the time stamp for it[ASCII 146]s dependents. Since NMAKE was invoked with the /B switch, target1 should have been rebuilt. The batch file may need to be run at least 10-20 times for the problem to show up. It may also be necessary to supress output from NMAKE and the batch file in order to allow NMAKE to run fast enough to reproduce the problem. Sample Makefile
Looping Batch File
Additional query words: 1.30 1.40 1.50
Keywords : |
Last Reviewed: October 7, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |