Make - Linux Command - Unix Command

make - GNU tegema kasuliku programmi gruppide hoidmiseks

Kokkuvõte

teha [ -f makefile ] [valik] ... sihtmärk ...

Hoiatus

See lehekülg on GNU kaubamärgi dokumentatsiooni väljavõte . Seda ajakohastatakse ainult aeg-ajalt, kuna GNU-projekt ei kasuta nroffi. Täieliku, praeguse dokumentatsiooni saamiseks vaadake infomaterjalist make.info, mis on tehtud Texinfo lähtekoodi failist make.texinfo .

Kirjeldus

Kasutamise utiliidi eesmärk on automaatselt määrata, millised suured programmi osad tuleb uuesti kompileerida ja väljastada käsud nende uuesti kompileerimiseks. Käsiraamatus kirjeldatakse Marki versiooni GNU-d, mille kirjutasid Richard Stallman ja Roland McGrath. Meie näited näitavad C-programme, kuna need on kõige levinumad, kuid võite kasutada make mis tahes programmeerimiskeeles, mille kompilaatorit saab käivitada shellikäsuga. Tegelikult ei piirdu ainult programmidega. Võite seda kasutada, et kirjeldada mis tahes ülesannet, kus mõnda faili tuleb teistest automaatselt uuendada, kui teised muudavad.

Märgi kasutamiseks valmistamiseks peate kirjutama faili nimega makefile, mis kirjeldab teie programmi failide suhteid ja määrab iga faili värskendamise käsklused. Programmis käivitatakse tavaliselt käivitatav fail objektifailidest, mis omakorda tehakse lähtefailide koostamisel.

Kui sobiv fail on olemas, iga kord, kui muudad mõnda lähtekoodifaili, saab selle lihtsa shelli käsk:

tegema

piisab kõigi vajalike rekompilatsioonide teostamiseks. Protsessi programm kasutab failide makefile andmebaasi ja viimaseid muudatuste aegu, et otsustada, milliseid faile on vaja värskendada. Iga faili jaoks väljastab see andmebaasis salvestatud käsklused.

teeb käivitab käsud makefile, et värskendada ühte või mitut sihtnime , kus nimi on tavaliselt programm. Kui fail- f puudub, teeb make otsima makefiles GNUmakefile , makefile ja makefile selles järjekorras.

Tavaliselt peaksite helistama oma makefile kas makefile või makefile . (Soovitame Makefile'i, sest see on selgelt nähtav kataloogi loendi alguses, peaaegu muude oluliste failide nagu README läheduses .) Enamike makefailide puhul ei ole kontrollitud eesnimega GNUmakefile . Seda nimetust peaksite kasutama, kui teil on makefile, mis on spetsiifiline GNU kaubamärgi jaoks, ja seda ei mõista muude versioonide versioonid. Kui makefile on `- ', loetakse standardne sisend.

värskenduste eesmärk kui see sõltub eeltingimata failidest, mida on muudetud pärast seda, kui eesmärk oli viimati muudetud, või kui sihtmärki pole olemas.

VÕIMALUSED

-b

-m

Neid valikuid ignoreeritakse muude versioonide ühilduvuse jaoks.

C dir

Muuda kataloogirida enne makefile lugemist või midagi muud tegema. Kui on määratud mitu C- võimalust, tõlgendatakse igaüks eelmisega võrreldes järgmiselt: -C / -C-t on samaväärne -C / jne-ga. Seda kasutatakse tavaliselt reklaami tegemisel .

-d

Peale tavalise töötlemise printige silumisinfo. Silumisinfo annab teada, milliseid faile uuendatakse, milliseid faili aegu võrreldakse ja milliste tulemustega, milliseid faile tegelikult vaja ümber kujundada, millised kaudsed reeglid on arvestatud ja mida rakendatakse --- kõike huvitav, kuidas otsuseid tehakse mida teha.

-e

Andke muutujad, mis on võetud keskkonnast ülimuslikud makefailide muutujate ees.

-f fail

Kasuta faili makefile.

-i

Ignoreeri kõiki vigu failide ümberkujundamisel käsklustel.

-Ma räägin

Määrab kataloogiridu, et otsida kaasatud makefileid. Kui mitme kataloogi määramiseks kasutatakse mitu -I võimalust, otsitakse katalooge määratud järjekorras. Erinevalt muude lipuriikide argumentidest võivad -I lipud antud kataloogidele tulla vahetult pärast lippu: -I on lubatud, aga ka -I dir. See süntaks on lubatud C-eelprotsessor -I- lipu kokkusobivuse jaoks.

-j töökohad

Määrab üheaegselt töötatavate töökohtade (käskude) arvu. Kui on rohkem kui üks -j valik, on viimane efektiivne. Kui -j valik antakse ilma argumendita, siis ei piira tegelike tööde arv üheaegselt.

-k

Jätkake nii palju kui võimalik pärast viga. Kuigi sihtmärki, mille ebaõnnestunud ja sellest sõltuvad, ei saa ümber ehitada, saab nende sihtmärkide teisi sõltuvusi töödelda samaks.

-l

-l koormus

Määrab, et uute töökohtade (käskluste) käivitamine ei toimu, kui töötab teisi töökohti ja koormuse keskmine on vähemalt koormus (ujukoma arv). Ilma argumendita eemaldab eelmise koorma limiidi.

-n

Trükkige käsklused, mis käivitatakse, kuid neid ei käivita.

-o fail

Ärge muutke failifaili isegi siis, kui see on vanematest kui selle sõltuvused, ega muuda faili muudatusi. Sisuliselt käsitletakse faili väga vana ja selle reegleid ignoreeritakse.

-p

Andmebaasi (reeglid ja muutuja väärtused) printimine, mis tuleneb makefile lugemisest; siis täitke nagu tavaliselt või muul viisil täpsustatud. Samuti prindib see -v lüliti poolt antud versiooniteavet (vt allpool). Andmebaasi printimiseks failide ümberkujundamata proovides kasutage make -p -f / dev / null.

-q

`` Küsimuste režiim ''. Ära käivita ühtegi käsku ega printida midagi; lihtsalt tagastab väljumisoleku, mis on null, kui määratud sihtmärgid on juba ajakohased, muidu pole null.

-r

Eemaldage sisseehitatud kaudsete reeglite kasutamine. Samuti kustutage sufikside reeglite sufikside vaikimisi nimekiri.

-s

Vaikne töö; ärge printige käske, kui need on täidetud.

-S

Tühista k- variandi mõju. See ei ole kunagi vajalik, välja arvatud rekursiivses markis, kus -k võib olla ülimuslikumate tegude MAKEFLAGS kaudu päritud või kui teie keskkonnas MAKEFLAGS -k seadisite -k .

-t

Puudutage faile (märkige neid ajakohasena, ilma neid tegelikult muutmata), selle asemel et oma käske käitada. Seda kasutatakse selleks, et teeselda, et käsud tehti, et petta tulevaste väljavõtte tegemine .

-v

Printige programmi " Make " versioon koos autoriõigusega, autorite loendiga ja teatega, et garantii pole.

-w

Trükkige töökataloogi sisaldav sõnum enne ja pärast muud töötlemist. See võib olla kasulik rekursiivsete käsu keerukate pesade vigade leidmiseks.

-W fail

Tehkute, et sihtfaili on just muudetud. Kui kasutatakse -n- lipu, näitab see, mis juhtuks, kui soovite seda faili muuta. Ilma -n pole peaaegu sama, kui käivitada antud faili puudutava käsku enne joomise käivitamist, välja arvatud see, et muutmisaega muudetakse ainult make kujul .