Configuring makefiles to behave like make

By using special targets, you can configure your clearmake makefile so that clearmake behaves as make does with regard to Java builds.

The following targets eliminate the extra rebuilding described in Allowing rebuilds:

.NOCMP_SCRIPT: %.class

.NO_CMP_SCRIPT: %.class

.DEPENDENCY_IGNORED_FOR_REUSE: %.class

(omake only)

(clearmake only)

.NO_CMP_SCRIPT disables build script checking. However, relevant build-script changes are ignored. In addition, .NO_CMP_SCRIPT has no effect during winkin, so even when it is in use, winkins are prevented because of build script differences. Therefore, you must use manual winkins (see the winkin reference page) or forego them entirely.

.DEPENDENCY_IGNORED_FOR_REUSE disables the version checking of implicit dependencies when clearmake is looking for DOs to reuse. This can cause desired rebuilds to be missed. However, one benefit of using clearmake is automatic dependency detection (for example, of .h files in a C build), so it is not desirable to give this up.

To improve the missed implicit dependency checking caused by .DEPENDENCY_IGNORED_FOR_REUSE, you can add the missing dependencies as explicit dependencies in the makefile. However, this is a manual process, and you still lose build script checking and winkin. The remaining benefit of using clearmake is configuration records (though the catcr output for them might be confusing).