Většina programů se sestavuje pomocí jednoduché sekvence dvou příkazů:
$ ./configure $ make
Konfigurační program je skript shellu, který je dodáván se zdrojovým stromem. Jeho úkolem je analyzovat prostředí sestavení. configure vytvoří několik nových souborů v našem zdrojovém adresáři. Nejdůležitější je Makefile. Makefile je konfigurační soubor, který dává programu make přesně pokyny, jak program sestavit. Program make bere jako vstup soubor make (který se normálně jmenuje Makefile), který popisuje vztahy a závislosti mezi komponentami, které tvoří hotový program.
Při psaní make souborů pro kompilaci modulů jádra můžeme narazit na chybu:
make: Nothing to be done for 'default'.
Běžnou příčinou chyby je nedostatek místa na tabulátoru před příkazem. Pravidlo make má vždy tři části:cíl, předpoklad a příkaz ke generování cíle z předpokladu.
target:prerequisite command
Aby bylo možné rozlišit mezi příkazem a cílem, příkaz musí mít vždy předponu s jedním tabulátorem. V případě, že tak neučiníme, make to nerozpozná jako příkaz a vyvolá chybu, že pro cíl není zadán žádný příkaz. Je to stejná chyba jako výše, kde výchozí je cíl.
Chcete-li tedy problém vyřešit, stačí otevřít soubor makefile a přidat mezeru tabulátoru před příkaz pro kterýkoli cíl, který je vyvolán.
Poznámka na závěr
./configure, make, make install — lze jej použít k vytvoření mnoha balíčků zdrojového kódu. Viděli jsme také důležitou roli, kterou hraje při údržbě programů. Program make lze použít pro jakoukoli úlohu, která potřebuje udržovat vztah cíl/závislost, nejen pro kompilaci zdrojového kódu. Viděli jsme, jak vyřešit chybu „Nic nedělat pro ‚výchozí‘“ při spuštění programu make.