Príkaz Linux - príkaz Unix

make - GNU uľahčuje udržiavanie skupín programov

synopse

urobiť [ -f makefile ] [možnosť] ... cieľ ...

Výstraha

Táto stránka je výňatkom z dokumentácie GNU make. Aktualizuje sa len príležitostne, pretože projekt GNU nepoužíva nroff. Úplnú aktuálnu dokumentáciu nájdete v informačnom súbore make.info, ktorý je vytvorený z zdrojového súboru texinfo make.texinfo .

popis

Účelom pomôcky Make je automaticky určiť, ktoré časti veľkého programu sa musia kompilovať a vydávať príkazy na ich kompiláciu. Príručka popisuje implementáciu značky GNU, ktorú napísali Richard Stallman a Roland McGrath. Naše príklady zobrazujú programy C, pretože sú najbežnejšie, ale môžete použiť značku s ľubovoľným programovacím jazykom, ktorého kompilátor je možné spustiť pomocou shellového príkazu. V skutočnosti, nie je obmedzená na programy. Môžete ho použiť na popísanie akejkoľvek úlohy, pri ktorej sa niektoré súbory musia aktualizovať automaticky od ostatných, kedykoľvek sa ostatné zmení.

Pri príprave na použitie značky musíte napísať súbor s názvom Makefile, ktorý popisuje vzťahy medzi súbormi vo vašom programe a uvedie príkazy na aktualizáciu každého súboru. V programe sa zvyčajne spustiteľný súbor aktualizuje z objektových súborov, ktoré sa zasa robia z kompilácie zdrojových súborov.

Akonáhle existuje vhodný makefile, zakaždým, keď zmeníte niektoré zdrojové súbory, tento jednoduchý shell príkaz:

urobiť

stačí na vykonanie všetkých potrebných rekompilácií. Vytváraný program používa databázu makefile a poslednú dobu modifikácie súborov, aby sa rozhodlo, ktoré z týchto súborov je potrebné aktualizovať. Pre každý z týchto súborov vydáva príkazy zaznamenané v databáze.

vykonať vykonanie príkazov v makefile na aktualizáciu jedného alebo viacerých cieľových mien , kde je názov typicky program. Ak nie je prítomná žiadna voľba -f , make bude hľadať makefiles GNUmakefile , makefile a Makefile v tomto poradí.

Normálne by ste mali zavolať makefile buď Makefile, alebo Makefile . (Odporúčame Makefile, pretože sa objavuje viditeľne blízko začiatku zoznamu adresárov, hneď vedľa iných dôležitých súborov, ako napríklad README .) Skontrolované meno, GNUmakefile , sa neodporúča pre väčšinu makefile. Mali by ste používať tento názov, ak máte makefile, ktorá je špecifická pre GNU make , a nebude to inými verziami značky . Ak je makefile `- ', číta sa štandardný vstup.

aktualizovať cieľ, ak závisí od predpokladaných súborov, ktoré boli upravené od posledného modifikovania cieľa alebo ak daný cieľ neexistuje.

MOŽNOSTI

-b

-m

Tieto možnosti sa ignorujú z dôvodu kompatibility s inými verziami značky .

-C- dir

Pred prečítaním makefile alebo vykonaním čokoľvek iného, ​​prejdite na adresár adresára . Ak sú zadané viaceré možnosti -C , každý je interpretovaný vzhľadom na predchádzajúci: -C / -C je ekvivalentný -C / etc. Toto sa zvyčajne používa s rekurzívnymi invokáciami značky .

-d

Okrem bežného spracovania tlačte ladiace informácie. Informácie o ladení uvádzajú, ktoré súbory sa zvažujú na preformulovanie, ktoré časové úseky sa porovnávajú a s akými výsledkami, ktoré súbory sa skutočne potrebujú prepracovať, aké implicitné pravidlá sa berú do úvahy a ktoré sa uplatňujú --- všetko zaujímavé o tom, ako sa rozhodne čo robiť.

-e

Uveďte premenné prevzaté z prostredia prednosť pred premenné z Makefiles.

-f súboru

Použite súbor ako makefile.

-i

Ignorovať všetky chyby v príkazoch vykonaných na prerobenie súborov.

-Dir

Určuje adresu adresára na vyhľadávanie zahrnutých makefile. Ak sa na určenie viacerých adresárov použije niekoľko možností - I , adresáre sa vyhľadajú v zadanom poradí. Na rozdiel od argumentov pre iné príznaky značiek , adresáre dané vlajkami -I môžu prísť priamo za vlajkou: -I dir je povolené, rovnako ako -I riad. Táto syntax je povolená pre kompatibilitu s príznakom C preprocesora.

-j úloh

Určuje počet úloh (príkazov) na spustenie súčasne. Ak existuje viac ako jedna voľba-j, posledná je účinná. Ak je voľba -j zadaná bez argumentu, značka nebude obmedzovať počet úloh, ktoré môžu bežať súčasne.

-k

Pokračujte čo najviac po chybe. Zatiaľ čo ciele, ktoré zlyhali, a tie, ktoré na ňom závisia, nemôžu byť prepracované, ostatné závislosti týchto cieľov je možné spracovať rovnako.

-l

-l zaťaženie

Určuje, že pri spustení ďalších úloh a zaťaženia je minimálne zaťaženie (číslo s pohyblivou rádovou čiarkou) by sa nemali spustiť žiadne nové úlohy (príkazy). Bez argumentu odstráni predchádzajúci limit zaťaženia.

-n

Vytlačte príkazy, ktoré sa majú spustiť, ale nevykonávajte ich.

-o súbor

Neodrobte súbor súborov, aj keď je starší ako jeho závislosť, a nedopravujte nič z dôvodu zmien v súbore . V podstate je súbor považovaný za veľmi starý a jeho pravidlá sú ignorované.

-p

Vytlačte databázu (pravidlá a hodnoty premenných), ktoré sú výsledkom čítania makefile; potom vykonajte ako obvykle alebo ak nie je uvedené inak. Takto sa vytlačí aj informácia o verzii daná prepínačom -v (pozri nižšie). Ak chcete vytlačiť databázu bez toho, aby ste sa pokúšali prerobiť všetky súbory, použite make -p -f / dev / null.

-q

`` Režim otázok ''. Nepoužívajte žiadne príkazy ani nič nevytlačujte. stačí vrátiť stav výstupu, ktorý je nulový, ak sú určené ciele už aktuálne, inak nenulové.

-r

Odstráňte používanie vstavaných implicitných pravidiel. Vymažte aj predvolený zoznam prípon pre pravidlá prípony.

-s

Tichá prevádzka; nevytlačte príkazy pri ich vykonávaní.

-S

Zrušte účinok voľby -k . Toto sa nikdy nevyžaduje okrem rekurzívnej značky, kde -k môže byť zdedený z top-levelu prostredníctvom MAKEFLAGS alebo ak nastavíte -k vo formáte MAKEFLAGS vo vašom prostredí.

-t

Dotknite sa súborov (aktualizujte ich bez toho, aby ste ich skutočne menili) namiesto spustenia ich príkazov. Toto sa používa na predstieranie toho, že príkazy boli vykonané, aby sa oklamali budúce invokácie značky .

-v

Vytlačte verziu vytvoreného programu plus autorské práva, zoznam autorov a oznámenie, že neexistuje žiadna záruka.

-w

Vytlačte správu obsahujúcu pracovný adresár pred a po inom spracovaní. To môže byť užitočné pri sledovaní chýb z komplikovaných hniezd rekurzívnych povelov.

-W súboru

Predstierajte, že cieľový súbor bol práve upravený. Pri použití s ​​príznakom -n vám to ukáže, čo by sa stalo, keby ste tento súbor upravili. Bez -n je to skoro rovnaké ako spustenie dotykového príkazu na danom súbore pred spustením make , s výnimkou, že čas modifikácie sa mení iba vo fantezii značky .