Glossary¶
Page Maps¶
graph LR
family["Reproducible Research"]
program["Deep Dive Make"]
section["Build Graph Foundations Truth"]
page["Glossary"]
capstone["Capstone evidence"]
family --> program --> section --> page
page -.applies in.-> capstone
flowchart LR
orient["Orient on the page map"] --> read["Read the main claim and examples"]
read --> inspect["Inspect the related code, proof, or capstone surface"]
inspect --> verify["Run or review the verification path"]
verify --> apply["Apply the idea back to the module and capstone"]
This glossary keeps the language of Module 01 stable. Use it when a word starts feeling fuzzy or overloaded.
| Term | Meaning in Module 01 | Why it matters |
|---|---|---|
| artifact | A file the build intentionally publishes and expects other work to trust. | It separates "real output" from convenience targets like all and clean. |
| atomic publication | Writing to a temporary path first and moving into the final path only after success. | It prevents failed builds from leaving behind half-truths at trusted paths. |
| convergence | The build reaches a stable state where a repeated run without meaningful change has nothing to do. | It is the shortest practical test for whether the graph is telling the truth. |
| dependency graph | The directed relationship between targets and the prerequisites that justify rebuilding them. | It is the real subject of this module; recipes only make sense inside it. |
| depfile | A file, usually emitted by the compiler, that records discovered header dependencies for later runs. | It turns header usage into evidence Make can reuse. |
| hidden input | A fact that can change output meaning without appearing as explicit build evidence. | Hidden inputs are the usual reason a build works once and lies later. |
| order-only prerequisite | A prerequisite used to guarantee setup without making normal timestamp changes force a rebuild. | It helps with directory creation and similar setup edges that are not semantic inputs. |
| ownership | The rule that a particular recipe is responsible for publishing a specific output path. | Clear ownership makes review and debugging much easier. |
| pattern rule | A rule that describes a family of targets using %. |
It reduces repetition, but only works well when the mapping stays obvious in review. |
| phony target | A named command target that does not stand for a real file. | Phony targets are useful, but they should not be confused with artifact contracts. |
| prerequisite | An input Make uses when deciding whether a target is out of date. | If an input matters and is not here, the graph is incomplete. |
| recipe | The shell commands that publish or update a target. | Recipes do not define truth by themselves; they act inside the graph contract. |
| semantic input | A fact that changes the meaning of an output even if no source file changed. | Compiler flags and tool versions often belong here. |
| stamp | A file used to represent the state of a semantic input that would otherwise stay invisible. | It gives the graph durable evidence about non-file facts. |
| target | The file or named goal a rule promises to produce or make available. | Thinking of a target as a promise is more useful than thinking of it as a label. |
| truth | The condition where the build graph tells Make enough accurate information to make the right rebuild decisions. | It is the standard by which every Module 01 design choice should be judged. |