Makefiles styrer genkompilering ved at sammenligne filers tidsstempler så kun ændrede filer bygges igen.
En regel i et Makefile består af mål (targets), forudsætninger (prerequisites) og kommandoer indrykket med tab-tegn.
Det første mål i filen er standardmålet, som køres ved bare at køre make uden argumenter.
Ved at angive forudsætninger (fx foo: foo.c) sikrer make automatisk genkompilering når kildefilen ændres.
Variabler defineres med = eller := og referenced med $(VAR); ?= sætter kun hvis ikke forud defineret, og += giver append.
Automatiske variabler som $@ (mål), $< (første forudsætning) og $^ (alle forudsætninger) forenkler kommandoer.
GNU Make har implicitte regler for C/C++ (.c→.o, linking) der bruger CC, CFLAGS, CXXFLAGS, LDFLAGS osv.
Mønsterregler (%%) og statiske mønsterregler genbruges til at definere regler for flere filer uden gentagelser.
Brug .PHONY for at markere mål som ikke er filer (fx clean, all) og undgå konflikter med eksisterende filnavne.
Avancerede funktioner inkluderer include til at inddrage andre filer, vpath til søgestier, og tekstfunktioner som filter, foreach og call.
Get notified when new stories are published for "🇩🇰 Hacker News Dansk"