Makefile

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 23. dubna 2012; kontroly vyžadují 15 úprav .
Makefile
MIME typ text/x-makefile
Typ formátu Automatizace montáže
standard(y) POSIX

makefile  je soubor obsahující sadu instrukcí používaných obslužným programem make v sadě nástrojů pro automatizaci sestavení .

Přehled

Makefile nejčastěji obsahuje instrukce pro nástroj make , jak program zkompilovat a propojit. Například u programovacích jazyků C / C ++ musí být zdrojový soubor C nebo C++ znovu zkompilován při každé změně. Pokud se změní soubor záhlaví , musí být každý zdrojový soubor C/C++, který jej obsahuje, překompilován, aby byl bezpečný. Každá kompilace vytvoří objektový soubor odpovídající zdrojovému souboru. Konečně, pokud byl zdrojový soubor zkompilován, pak všechny objektové soubory, ať nově vytvořené nebo uložené z předchozích kompilací, musí být propojeny, aby se sestavil nový spustitelný program [1] . Tyto instrukce spolu s jejich závislostmi jsou specifikovány v makefile . Pokud se žádný ze souborů požadovaných pro sestavení od poslední kompilace nezměnil, pak se během kompilace nic neděje. U velkých projektů může použití makefiles výrazně zkrátit dobu sestavení aplikace tím, že se změní pouze několik zdrojových souborů.

Operační systém

Unixové operační systémy

Makefile vznikly na systémech podobných Unixu a zůstávají primárním prostředkem pro vytváření programů v těchto prostředích.

Microsoft Windows

Systém Windows podporuje různé druhy souborů makefiles prostřednictvím nástroje nmake . Standardní makefily z unixových OS lze spouštět na operačním systému Windows v prostředí Cygwin .

Obsah

Makefile se skládají z 5 komponent: explicitní pravidla , implicitní pravidla , definice proměnných , směrnice a komentáře .

Pravidla

Makefile obsahuje „pravidla“ v následující podobě:

cíl : závislosti systémové příkazy _ _

Cíl je obvykle název souboru, který je vygenerován programem; příklady cílů jsou spustitelné soubory nebo soubory objektů. Cílem může být také název akce, která má být provedena, například „vyčistit“.

Závislost (také nazývaná předběžná podmínka) je soubor používaný jako vstup pro vytvoření cíle. Cíl často závisí na více souborech. Pravidlo určující metodu pro cíl však nesmí mít žádné předběžné podmínky. Například pravidlo obsahující příkaz delete je spojeno s čistým cílem, který nemá předběžnou podmínku.

Systémový příkaz (příkazy) (také nazývaný metoda) je akce, kterou provádí obslužný program make . Metoda může obsahovat více než jeden příkaz, buď na stejném řádku, nebo každý na vlastním řádku.

Provedení

makefile se provádí příkazem make, například make [options] [target1 target2 ...]. Ve výchozím nastavení, když make hledá makefile a není-li jako argument uveden žádný makefile, make zkouší následující názvy v pořadí: makefile a Makefile.

Příklad

Jednoduchý makefile, který popisuje, jak spustitelný soubor s názvem  edit  závisí na čtyřech objektových souborech, které zase závisí na čtyřech zdrojích C a dvou hlavičkových souborech.

edit : hlavní . o kbd . o příkaz . o zobrazení . Ó cc -o edit main.o kbd.o command.o display.o main.o : hlavní . c defs . h cc -c main.c kbd.o : kbd . c defs . h příkaz . h cc -c kbd.c příkaz.o : příkaz . c defs . h příkaz . h cc -c příkaz.c display.o : zobrazení . c defs . h cc -c display.c čistý : rm upravit main.o kbd.o příkaz.o display.o

Chcete-li použít tento makefile k vytvoření spustitelného souboru pro úpravy , musíte zadat příkaz make. Chcete-li tento makefile použít k odstranění spustitelného souboru a všech objektových souborů z adresáře, zadejte příkaz make clean.

Reference

  1. Pravidla cíle POSIX . Staženo 5. března 2018. Archivováno z originálu 18. února 2018.

Odkazy