Namen pripomočka za izdelavo je samodejno ugotoviti, kateri deli velikega programa je treba prevedeti in izdati ukaze za njihovo prevedbo. Priročnik opisuje izvajanje znamke GNU, ki so ga napisali Richard Stallman in Roland McGrath. Ti primeri kažejo programe C, saj so najpogostejši, lahko pa jih uporabite s katerimkoli programskim jezikom, katerega prevajalnik lahko zaženete z ukazom lupine. Pravzaprav, izdelava ni omejena na programe. Uporabite ga lahko za opisovanje vseh nalog, pri katerih je treba nekatere datoteke samodejno posodabljati od drugih, kadar se drugi spremenijo.
Opomba: Ta stran je povzetek dokumentacije o izdelavi GNU . Posodobi se le občasno, ker projekt GNU ne uporablja nroff. Za popolno in trenutno dokumentacijo si oglejte info-datoteko make.info, ki je izdelana iz izvorne datoteke Texinfo make.texinfo.
Sintaksa in priprava pripomočka za make
naredi -f makefile možnost … cilj …
Če se želite pripraviti za uporabo, morate napisati datoteko, imenovano makefile, ki opisuje razmerja med datotekami v vašem programu in navaja ukaze za posodabljanje posamezne datoteke. Običajno se izvršljiva datoteka posodablja iz objektnih datotek, ki se nato izvedejo z zbiranjem izvornih datotek.
Ko obstaja ustrezen makefile, vsakič, ko spremenite nekaj izvornih datotek, ta preprost ukaz lupine naredi zadostuje za izvedbo vseh potrebnih prekomernih kompilacij. Program za izdelavo uporablja zbirko podatkov makefile in čas zadnje spremembe datotek, da se odloči, katere datoteke je treba posodobiti. Za vsako od teh datotek izda ukaze, zabeležene v bazi podatkov.
Pripomoček make izvaja ukaze v makefile, da posodobi eno ali več ciljnih imen, kjer ime je običajno program. Če ne-f možnost je prisotna, naredi bo iskal makefileGNUmakefile, makefile, inMakefile, v tem vrstnem redu.
Običajno morate poklicati makefile bodisi makefile ali Makefile. (Priporočamo, da uporabite Makefile ker se zdi vidno blizu začetka seznama imenikov, v bližini drugih pomembnih datotek, kot soREADME.) Prvo ime, GNUmakefile, ni priporočljivo za večino makefilov. To ime morate uporabiti, če imate makefile, ki je značilen za izdelavo GNU-ja in ga ne bodo razumeli druge različice izdelave. Če je makefile -, se bere standardni vhod.
The naredi pripomoček posodablja cilj, če je odvisen od predpogojnih datotek, ki so bile spremenjene od zadnje spremembe cilja ali cilja ne obstaja.
Opcije
The -b in -m možnosti se ne upoštevajo za združljivost z drugimi različicami izdelave.
-C re se bo pred branjem makefilov ali karkoli drugega spremenil v imenik. Če je več-C opcije so določene, vsaka se razlaga glede na prejšnjo:-C/ -C itd je enakovreden-C / etc. To se navadno uporablja pri rekurzivnih pozivih na znamko.
The -d možnost bo poleg običajne obdelave natisnila informacije o odpravljanju napak. Podatki o odpravljanju napak kažejo, katere datoteke se preučujejo za predelavo, kateri časi datotek se primerjajo in s kakšnimi rezultati, katere datoteke je treba dejansko popraviti, katere implicitne predpise se upoštevajo in se uporabljajo - vse zanimivo, kako se odloča, kaj naj naredi .
The -e možnost daje spremenljivke, vzete iz prednosti okolja, nad spremenljivkami iz makefilov.
The -f mapa možnost uporabe mapa kot makefile.
The -jaz opcija ne upošteva vseh napak v ukazih, izvedenih za preoblikovanje datotek.
The -JAZ dir možnost določa imenik dir poiskati vključene makefile. Če je več-JAZ možnosti se uporabljajo za določitev več imenikov, imeniki se iščejo v določenem vrstnem redu. Za razliko od argumentov za druge zastavice znamk, imajo imeniki z-JAZ zastave lahko pridejo neposredno po zastavi:-Idir je dovoljeno, kot tudi-Reč . Ta sintaksa je dovoljena za združljivost s predprocesorjem C-JAZ zastava.
The -j delovnih mest možnost določa število opravil (ukazov), ki jih je treba zagnati hkrati. Če je več kot eno-j možnost, zadnja je učinkovita. Če je-j možnost je podana brez argumenta, make ne bo omejil števila delovnih mest, ki se lahko izvajajo sočasno.
The -k opcija se nadaljuje čim bolj po napaki; medtem ko je cilj, ki ni uspel, in tisti, ki so odvisni od njega, ni mogoče popraviti, druge odvisnosti teh ciljev se lahko obdelajo enako.
The -l in Naloži opcije določajo, da ni treba zagnati novih delovnih mest (ukazov), če se izvajajo druga opravila in je vsaj povprečna obremenitevobremenitev (številka s plavajočo vejico). Brez argumentov odstrani prejšnjo omejitev obremenitve.
The -n opcija natisne ukaze, ki bi bili izvedeni, vendar jih ne izvaja.
The -o mapa možnost ne spremeni mapa tudi če je starejši od njenih odvisnosti, in ne spremeni ničesar zaradi sprememb v mapa . V bistvu se datoteka obravnava kot zelo stara in njena pravila se ne upoštevajo.
The -p opcija natisne bazo podatkov (pravila in spremenljive vrednosti), ki izhajajo iz branja makefilov. Nato se izvaja kot običajno ali kot je drugače določeno.To tudi natisne informacije o različici, ki jih je izdal-v stikalo (glejte spodaj). Če želite natisniti bazo podatkov, ne da bi poskušali popraviti nobene datoteke, uporabitenaredi -p -f / dev / null .
The -q možnost nastavi vprašanje. Ne zaženite nobenih ukazov ali natisnite ničesar, samo vrnite status izhoda, ki je nič, če so že navedeni cilji že posodobljeni, sicer pa ničen.
The -r možnost odpravlja uporabo vgrajenih implicitnih pravil. Izbriše tudi privzeti seznam pripone za pravila o končnih končnicah.
The -s možnost utiša operacijo. Ne natisne ukazov, kot so bili izvedeni.
The -S opcija prekliče učinek-k možnost. To ni nikoli potrebno, razen v rekurzivni znamki kje-k bi lahko podedovali od najvišje ravni s pomočjo MAKEFLAGS ali če ste nastavili-k v MAKEFLAGS v vašem okolju.
The -t možnost dotakne datoteke (jih označuje posodobljene, ne da bi jih resnično spreminjala), namesto da bi zagnali svoje ukaze. To se uporablja za pretvarjanje, da so bili ukazi opravljeni, da bi se lahko zavedli bodočih pozivov na znamko.
The -v možnost natisne različico programa za izdelavo in avtorske pravice, seznam avtorjev in obvestilo, da garancije ni.
The -w opcija natisne sporočilo, ki vsebuje delovni imenik pred in po drugi obdelavi. To je lahko uporabno za sledenje napak iz zapletenih gnezda rekurzivne znamke ukaze.
The -W mapa možnost pretvarja, da cilj mapa pravkar spremenjena. Kadar se uporablja z-n flag, to vam kaže, kaj bi se zgodilo, če bi morali spremeniti to datoteko. Brez-n, je skoraj enako kot tekmovanje v tekudotaknite se ukaz na dan datoteki pred začetkom izvajanja, le da se čas spremembe spremeni samo v domišljiji make.













