Handling targets built in multiple ways
Because clearmake compares build scripts, undesirable results might occur if your build environment includes more than one way to build a particular target. For example, suppose that the target test_prog_3 appears in two makefiles in two directories. The first is in its source directory, util_src:
test_prog_3: ...
cc -o test_prog_3 ...
The second is in another directory, app_src:
../util_src/test_prog_3: ...
cd ../util_src ; cc -o test_prog_3
Derived objects built with these scripts might be equivalent, because they are built as the same file name (test_prog_3) in the same VOB directory (util_src). But by default, a build in the app_src directory never reuses or winks in a DO built in the util_src directory, because build-script comparison fails.
You can suppress build-script comparison for this target by using a clearmake special build target, .NO_CMP_SCRIPT in the makefile or in an associated BOS file:
.NO_CMP_SCRIPT: ../util_src/test_prog_3
To suspend build-script comparison once, you can use clearmake -O.