FIX: U4007 Warning Caused by Long Pseudotarget Name

ID: Q93791

1.11 1.12 1.13 1.20 1.30 1.40 | 1.40

MS-DOS                        | WINDOWS NT
kbtool kbfixlist kbbuglist

The information in this article applies to:

SYMPTOMS

When an NMAKE make file contains a pseudotarget, the following warning message appears on machines using the FAT file system:

  NMAKE : warning U4007: filename 'ThisIsAPsuedoTarget'
     too long; truncating to 8.3

CAUSE

The name of the pseudotarget is longer than the MS-DOS 8.3 file naming system allows.

RESOLUTION

To eliminate the warning, change the name of the pseudotarget to give it a legal MS-DOS file name.

STATUS

Microsoft has confirmed this to be a problem in the products listed at the beginning of this article.

This problem is corrected in NMAKE for Windows NT, version 1.5. NOTE: Windows NT 3.5 FAT supports long filenames.

MORE INFORMATION

In the Microsoft C/C++ "Environment and Tools" manual for version 7.0, page 658 states the following:

   A pseudotarget name must follow the syntax rules for filenames.
   Like a filename target, a pseudotarget name is not case sensitive.
   However, if the name does not have an extension (that is, it does
   not contain a period), it can exceed the 8-character limit for
   filenames and can be up to 256 characters long.

The warning occurs when you try to use the functionality promised by the third sentence above.

In the sample makefile below, changing the name of the pseudotarget to a legal 8.3 name eliminates the U4007 warning message.

Sample Code

/*
 * Command line options needed: none
 */

ThisIsAPsuedoTarget: T1 T2 T3

T1:

T2:

T3:

Additional reference words: 1.11 1.12 1.13 1.20 1.30 1.40 KBCategory: kbtool kbfixlist kbbuglist KBSubcategory: NmakeIss Solution Type : kbfix

Last Reviewed: September 16, 1997