A modified program fails to build during a dependency build if no previous build map is found
If the initial build of a program is not done for any reason (i.e no language definition), then a build map will not be created. After you change this program by adding a language definition for example, dependency build now considers the program to be a MODIFIED program rather than a NEW program which means that it will search for the program's previous build map to determine dependency changes. Because a build map has not been created for this program, it will not find any changes and the dependency build will skip building the program.
Accepted answer
This issue is being tracked in defect new file is not built if Lang def is assigned after 1st build (243516) targeted for RTC 4.0.3 and the fix has also been backported to RTC 4.0.0.2 and RTC 4.0.2.
Comments
The work around for this issue is to create a buildable subset containing the program that is not building and run a build with the "Build change items only" option unchecked. The work around need only be performed one time then the program will be preprocessed normally once a build map has been created.