Wiki › Project

Makefile demo

Project · teaching material · 2025

Makefile demo teaches Make in three steps, each a small C project with its own Makefile.

StepWhat 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.

When
2023202420252026
Oct 2025 · 1 commits

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.

Download
@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 .
Works 1