Makefile demo
Project · teaching material · 2025
Makefile demo teaches Make in three steps, each a small C project with its own Makefile.
| Step | What it shows |
|---|---|
simple/ | The minimum needed to compile and run a tiny program |
normal/ | A separate build folder, pattern rules, header dependencies and a help target |
advanced/ | Several modules, a static library, generated headers, dependency files, order-only prerequisites, target-specific variables, .ONESHELL, .SECONDEXPANSION, packaging and a test target |
A top-level Makefile builds all three, or one with make -C advanced, and shows parallel builds with make -j4. The same practices appear in the Makefile of his mops command-line tool.
See also
In the knowledge graph
Makefile demo and the 7 things it is linked to. Open any dot for its page, or explore it in the full graph.
As data
Everything on this page is read from triples in the knowledge graph. These are the 19 it states about Makefile demo, and 1 more its ontology implies; the console runs SPARQL over the whole graph, here in your browser.
@prefix id: <https://ask.chaipat.cc/id/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix cj: <https://ask.chaipat.cc/ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . id:DemoMake a cj:Project ; rdfs:label "Makefile demo" ; cj:description "Three progressively richer examples of using Make, from minimal to advanced." ; cj:context id:OpenSource ; cj:repository "https://github.com/AppleBoiy/demo-make"^^xsd:anyURI ; cj:firstCommit "2025-10-12"^^xsd:date ; cj:lastCommit "2025-10-12"^^xsd:date ; cj:commitCount 1 ; cj:kind "teaching material" ; cj:theme id:ThemeDevOps , id:ThemeTeaching , id:ThemeSystems ; cj:uses id:Make , id:C ; cj:tier 2 ; cj:relatedTo id:MopsCli ; cj:article "https://ask.chaipat.cc/wiki/DemoMake"^^xsd:anyURI ; cj:activeIn id:Y2025 ; cj:activity _:b31 .