Parts:

PDOH - Notes

Build environment integration

The PDOH tool can be integrated into a build environment, so that all headers and sources that contain //%%DynObj tags are updated on a full build.

Using the option of overwriting directly into the sourcefile (-o) should be safe. Only what is inside the tagged sections are affected:

// %%DYNOBJ section general
// This section is auto-generated and manual changes will be lost when regenerated!!
#ifdef DO_IMPLEMENT_DOBASEI
...
// %%DYNOBJ section end

Whatever is outside of these sections is never modified by PDOH.

One way to do this is to make a separate project/target which only runs PDOH. Then make the main project dependent on the PDOH project/target.

Caching

To stop from modifying file time stamps when no real changes has happened, PDOH keeps a cache with checksums in each directory (.pdoh-cache.txt).

If no changes have been done on tag lines (with //%%DynObj) then PDOH skips the file.

This makes it fast to include PDOH in a build chain. In itself it is a simple scanner that runs quickly.

If you need to force a refresh on all files, then remove all .pdoh-cache.txt files.