Typicky makefile pro BSD make vypada takto:
PROG= sort
SRCS= append.c fields.c files.c fsort.c init.c msort.c sort.c
.include <bsd.prog.mk>
Tento makefile zkompiluje jednotlive .o soubory, sestavi
program sort a 'zkompiluje' jeho manovou stranku do *.cat1.
'make install' pak program jeho manovou stranku nainstaluje
na jeho misto - pokud je tak nastaveno v preferencich,
manovou stranku i zkompresuje.
Veskera logika kompilace napr. .o z .c nebo ziskani
.c z .y (yacc gramatiky), 'kompilace' manpages nebo
generovani *.info z *.texi je v systemovych make 'knihovnach'
v /usr/share/mk. V Makefile je tak jen to podstatne, nestale
opakujici cast je na jednom centralnim miste, sdilena
vsemi Makefile soubory.
IMHO je to elegantnejsi pristup nez muset kvuli kazde
zmene v 'globalnich' pravidlech muset pregenerovavat
cely kompilacni strom, pri tom zjistit ze nektery z auto*
nastroju uz mam prilis stary a musim upgrejdovat atd ;-)
Vim o cem mluvim, takhle jsem napr. sveho casu 'zapasil'
s KDE, kde jsem si prilezitostne upravoval nejaka drobnosti.
Automake jiste mechanizuje spoustu prace. Tato prace ale s BSD make neni vubec treba.