Napraviti - Linux Command - Unix naredbu

make - GNU čini korisnim za održavanje grupa programa

Sinopsis

napravite [ -f makefile ] [opciju] ... cilj ...

Upozorenje

Ova stranica je izvadak dokumentacije GNU-ove. Obnavlja se samo povremeno, jer GNU projekat ne koristi nroff. Za kompletnu, aktuelnu dokumentaciju, pogledajte Info fajl make.info koji je napravljen iz Texinfo izvorne datoteke make.texinfo .

Opis

Svrha pomoćnog programa je da automatski odredi koje delove velikog programa mora biti kompresovan i izdati komande za njihovo ponovno kompajliranje. Priručnik opisuje implementaciju GNU-a koji je napisao Richard Stallman i Roland McGrath. Naši primjeri pokazuju C programe jer su najčešći, ali možete koristiti pomoću bilo kog programskog jezika čiji se prevodilac može pokrenuti pomoću shell naredbe. Zapravo, stvaranje nije ograničeno na programe. Možete ga koristiti da biste opisali bilo koji zadatak u kome se neke datoteke moraju automatski ažurirati od drugih kad god se drugi mijenjaju.

Da biste se pripremili da koristite make , morate napisati datoteku koja se zove makefile koja opisuje odnose između datoteka u vašem programu i navodi komande za ažuriranje svake datoteke. U programu, obično izvršna datoteka se ažurira iz objekat datoteka, a za to se vrši kompiliranje izvornih datoteka.

Jednom kada postoji odgovarajući makefile, svaki put kada menjate neke izvorne datoteke, ova jednostavna komanda shell:

napraviti

dovoljno je izvršiti sve neophodne kompilacije. Program za izmenu koristi makefile bazu podataka i vrijeme zadnje izmjene datoteka kako bi odlučila koja od datoteka treba ažurirati. Za svaku od ovih datoteka izdaje komande snimljene u bazi podataka.

izvršiti komande u makefile-u da ažuriraju jedno ili više ciljnih imena , gde je ime tipično program. Ako nije prisutna opcija -f , učiniti će tražiti makefile GNUmakefile , makefile i Makefile , u tom redosledu.

Obično treba da pozovete makefile ili makefile ili Makefile . (Preporučujemo Makefile jer se pojavljuje vidljivo blizu početka liste direktorijuma, u neposrednoj blizini drugih važnih datoteka kao što je README .) Preporučeno ime, GNUmakefile , nije preporučljivo za većinu makefila. Trebalo bi da koristite ovo ime ako imate makefile koji je specifičan za GNU proizvođača i neće ga razumjeti druge verzije pravljenja . Ako je makefile `- ', standardni unos se čita.

vrši ažuriranje ciljanja ako zavisi od potrebnih datoteka koje su mijenjane od zadnje izmjene cilja ili ako meta ne postoji.

OPCIJE

-b

-m

Ove opcije se ignorišu za kompatibilnost sa drugim verzijama proizvoda.

-C dir

Promenite direktorijum pre nego što pročitate makefile ili uradite nešto drugo. Ako su specificirane više -C- opcija, svaka se tumači u odnosu na prethodni: -C / -C itd. Je ekvivalentan -C / etc. Ovo se tipično koristi sa rekurzivnim pozivima.

-d

Štampajte informacije o otklanjanju grešaka pored normalne obrade. Informacije o grešci govore o tome koje datoteke se razmatraju za prepravke, koje se upoređuju datoteke i s kojim rezultatima, koje datoteke zapravo treba izmijeniti, koja se implicitna pravila razmatraju i koja se primjenjuju --- sve zanimljivo o tome kako se odlučuje šta da radiš.

-e

Dati varijable uzete iz prednosti okoline preko varijabli iz makefila.

-f fajl

Koristite datoteku kao makefile.

-i

Ignorišite sve greške u komandama izvršenim za obrađivanje datoteka.

- Ja sam

Određuje direktorijum za pretragu uključenih makefila. Ako se koristi nekoliko -I opcija za određivanje nekoliko direktorija, direktorije se pretražuju u određenom redosledu. Za razliku od argumenata za druge zastave proizvođača , direktorijumi koji se daju sa -I zastavama mogu doći direktno nakon zastave: -I je dozvoljen dir , kao i -I dir. Ova sintaksa je dozvoljena za kompatibilnost sa zastavicom -I zastupnika C.

-j poslovi

Određuje broj poslova (komandi) koje treba istovremeno raditi. Ako postoji više od jedne -j opcije, poslednja je efikasna. Ako je opcija -j data bez argumenta, izvršenje neće ograničiti broj poslova koji mogu istovremeno raditi.

-k

Nastavite što je više moguće nakon greške. Iako meta koja nije uspela, a one koji zavise od toga ne mogu se remodirati, ostale zavisnosti ovih ciljeva mogu se obraditi svejedno.

-l

- Ucitam

Određuje da se ne pokreću novi poslovi (komande) ako postoje drugi zadaci koji se pokreću, a prosek opterećenja je najmanje opterećen (broj sa plutajućim tačkama). Bez argumenta uklanja prethodno ograničenje opterećenja.

-n

Štampajte komande koje će se izvršiti, ali ne izvršavajte ih.

-o fajl

Ne obrađujte fajl datoteke čak i ako je stariji od njegovih zavisnosti i ne obrađujte ništa zbog promjena u datoteci . U suštini datoteka se tretira kao veoma stara i njegova pravila se ignorišu.

-p

Štampajte bazu podataka (pravila i varijabilne vrijednosti) koje proizilaze iz čitanja makefila; zatim izvrši kao obično ili kako je drugačije naznačeno. Ovo takođe štampa informacije o verziji koje je dodao -v prekidač (pogledajte dole). Da biste odštampali bazu podataka bez pokušaja da obrađujete bilo koju datoteku, koristite make -p -f / dev / null.

-q

`Režim pitanja '. Nemojte pokrenuti nikakve naredbe, niti štampati ništa; samo vratite status izlaska koji je nula ako su navedeni ciljevi već ažurni, inače nenamerno.

-r

Eliminišite upotrebu ugrađenih implicitnih pravila. Takođe obrišite podrazumevanu listu sufiksa za pravila sufiksa.

-s

Tihi rad; nemojte odštampati naredbe pošto su izvršene.

-S

Otkažite efekat opcije -k . Ovo nikada nije neophodno, osim u rekurzivnoj mjeri gdje -k može biti naslijeđena od najvišeg nivoa putem MAKEFLAGS-a ili ako podesite -k u MAKEFLAGS-u u vašem okruženju.

-t

Dodirnite fajlove (označite ih ažuriranim bez stvarnog menjanja) umesto da pokrećete svoje komande. Ovo se koristi da se pretvara da su komande učinjene, kako bi se prevarile buduće pozive.

-v

Odštampajte verziju programa za učitavanje plus autorsko pravo, spisak autora i obaveštenje da nema garancije.

-w

Štampajte poruku koja sadrži radni direktor prije i nakon druge obrade. Ovo može biti korisno za praćenje grešaka iz komplikovanih gnezda rekurzivnih naredbi.

-W fajl

Pretvarajte se da je ciljana datoteka upravo izmenjena. Kada se koristi sa oznakom -n , to vam pokazuje šta će se dogoditi ako biste modifikovali tu datoteku. Bez -n , skoro je ista kao pokretanje dodirne naredbe na datoj datoteci pre pokretanja izrade , s tim da se vrijeme modifikacije menja samo u mašti proizvođača .