The make program is widely used in large software projects to reduce compilation time. make skips source files that would
have compiled to the same result as in the previous build. (Or so it is hoped.) The crucial issue of safeness of omitting
a brute-force build is addressed by defining a semantic model for make. Safeness is shown to hold if a set of criteria are
satisfied, including soundness, fairness, and completeness of makefile rules. Conditions are established under which a makefile
can safely be modified by deleting, adding, or rewriting rules.
Keywords Make - incremental recompilation - semantic model