Tehdä - Linux Command - Unix Command

tehdä - GNU: n avulla apuohjelma ylläpitää ohjelmaryhmiä

tiivistelmä

tee [ -f makefile ] [option] ... kohde ...

Varoitus

Tämä sivu on ote GNU-merkin dokumentaatiosta . Se päivitetään vain satunnaisesti, koska GNU-projekti ei käytä nroff-tiedostoa. Täydelliset, nykyiset dokumentaatiot ovat Info-tiedostossa make.info, joka on tehty Texinfo- lähdetiedostosta make.texinfo .

Kuvaus

Make- apuohjelman tarkoitus on määrittää automaattisesti, mitkä suuren ohjelman kappaleet täytyy kääntää uudelleen ja antaa komentoja yhdistämään ne uudelleen. Käsikirjassa kuvataan GNU: n toteutus, jonka ovat kirjoittaneet Richard Stallman ja Roland McGrath. Esimerkkejämme osoittavat C-ohjelmia, koska ne ovat yleisimpiä, mutta voit käyttää merkkiä millä tahansa ohjelmointikielellä, jonka kääntäjä voidaan suorittaa shellkomennolla. Itse asiassa make ei rajoitu pelkästään ohjelmiin. Voit käyttää sitä kuvaamaan mitä tahansa tehtävää, jossa joitain tiedostoja on päivitettävä automaattisesti muilta, kun muut muuttavat.

Jos haluat valmistautua käyttämään, sinun on kirjoitettava tiedosto nimeltä makefile, joka kuvaa ohjelman tiedostojen välisiä suhteita ja ilmoittaa komennon jokaisen tiedoston päivittämiseksi. Ohjelmassa yleensä suoritustiedosto päivitetään objektitiedostoista, jotka puolestaan ​​tehdään tekemällä lähdetiedostoja.

Kun sopiva lomake on olemassa, joka kerta, kun muutat lähdetiedostoja, tämä yksinkertainen komentokomento:

tehdä

riittää tekemään kaikki tarvittavat kompiloitumiset. Make- ohjelma käyttää makefile-tietokannan ja tiedostojen viimeisen muokkausaikoja päättää, mikä tiedostoista on päivitettävä. Jokaiselle näistä tiedostoista se antaa tietokantaan tallennetut komennot.

make suorittaa komentosarjat makefile-muodossa päivittämään yhden tai useamman kohdenimen , jossa nimi on tyypillisesti ohjelma. Jos no -f- vaihtoehtoa ei ole, make etsii makefiles GNUmakefile , makefile ja Makefile tässä järjestyksessä.

Tavallisesti sinun pitäisi soittaa makefile-tiedostoon joko makefile tai Makefile . (Suosittelemme Makefile-tiedostoa, koska se näkyy näkyvästi lähellä hakemistosivun alkua, aivan muiden tärkeiden tiedostojen, kuten README, lähellä .) Valitun ensimmäisen nimen, GNUmakefile , ei suositella useimpiin makefileihin. Sinun tulisi käyttää tätä nimeä, jos sinulla on makefile, joka on erityinen GNU- merkki , eikä muita versioita ymmärrä. Jos makefile on `- ', standardi tulo luetaan.

Tee päivitykset kohteeseen, jos se riippuu valmiiksi määritetyistä tiedostoista, jotka on muokattu, koska kohdetta on viimeksi muutettu tai jos kohdetta ei ole.

VAIHTOEHDOT

-b

-m

Nämä vaihtoehdot jätetään huomiotta yhteensopivuuden muiden versioiden kanssa.

-C dir

Muuta hakemiston hakemistoon ennen kuin olet lukenut makefilejä tai tehnyt jotain muuta. Jos useita C- vaihtoehtoja on määritetty, kukin tulkitaan suhteessa edelliseen: -C / -C etc vastaa -C / etc. Tätä käytetään tyypillisesti rekursiivisten kutsumusten tekemiseen .

-D

Tulosta virheenkorjaustiedot normaalin käsittelyn lisäksi. Vianmääritystiedoissa kerrotaan, mitkä tiedostot ovat parhaillaan uusittavissa, mitä tiedostokertoja verrataan ja millaisia ​​tuloksia, mitä tiedostoja tosiasiallisesti on korjattava, mitä implisiittisiä sääntöjä on tarkasteltu ja joita sovelletaan - kaikki mielenkiintoinen siitä, miten päättää mitä tehdä.

-e

Anna muuttujat, jotka on otettu ympäristön etusijasta muuttujien välillä.

-f- tiedosto

Käytä tiedostoa tehtäväfilmin muodossa.

-i

Ohita kaikki virheet komentoissa, jotka suoritetaan tiedostojen uudelleenkäsittelyyn.

-I dir

Määritä hakemistokoodi etsimään sisällytettyjä mallifilejä. Jos useita -I- vaihtoehtoja käytetään useiden hakemistojen määrittämiseen, hakemistoja haetaan määritetyllä järjestyksessä. Toisin kuin muiden merkkien lippujen argumentteja, I-lippujen kanssa annetut hakemistot voivat tulla suoraan lipun jälkeen: -I dir on sallittu sekä -I dir. Tämä syntaksi on sallittu yhteensopivuuden kanssa C-esikäsittelijän -I- lippua.

-j työpaikkoja

Määrittää työn (komennot) määrän samanaikaisesti. Jos on enemmän kuin yksi -j vaihtoehto, viimeinen on tehokas. Jos -j- vaihtoehto annetaan ilman argumenttia, tehtävä ei rajoita samanaikaisesti suoritettavien töiden määrää.

-k

Jatka mahdollisimman paljon virheen jälkeen. Vaikka epäonnistunut kohde ja ne, jotka riippuvat siitä, ei voida korjata, näiden muiden kohteiden riippuvuuksia voidaan käsitellä samalla tavalla.

-l

-l lataa

Määrittää, että uusia työpaikkoja (komentoja) ei pitäisi aloittaa, jos muita töitä on käynnissä ja kuormitus keskimäärin vähintään kuormittaa (liukuluku). Ilman argumenttia poistetaan edellinen kuormitusraja.

-n

Tulosta suoritettavat komennot, mutta älä suorita niitä.

-o tiedosto

Älä uudelleenkääntä tiedostoa, vaikka se olisikin vanhempi kuin sen riippuvuudet, ja älä remake mitään tiedostojen muutosten vuoksi. Pohjimmiltaan tiedostoa käsitellään hyvin vanhana ja sen sääntöjä ei oteta huomioon.

-p

Tulosta tietokokonaisuus (säännöt ja muuttujat), jotka johtuvat makefileiden lukemisesta; suorita sitten tavalliseen tapaan tai muutoin määriteltynä. Tämä tulostaa myös -v- kytkimen antamat versiotiedot (katso alla). Jos haluat tulostaa tietokannan yrittämättä jäljentää tiedostoja, käytä make -p -f / dev / null.

-q

`Kysymystila ''. Älä suorita mitään komentoja tai tulosta mitään; vain palauttaa poistumistilan, joka on nolla, jos määritetyt tavoitteet ovat jo ajan tasalla, ei muuten.

-r

Poista sisäisten implisiittisten sääntöjen käyttö. Poista myös oletuslista jälkileimasääntöjen jäljistä.

-S

Hiljainen toiminta; älä tulosta komentoja, kun ne suoritetaan.

-S

Peruuta -k- vaihtoehdon vaikutus. Tämä ei ole koskaan tarpeen, paitsi siinä rekursiivisessa tuotannossa, jossa -k voi periä ylimmän tason tekemisestä MAKEFLAGS: n kautta tai jos asetat -k : ssa MAKEFLAGS-ympäristössä.

-t

Kosketa tiedostoja (merkitse ne ajan tasalle muuttamatta niitä todella) sen sijaan, että ne käsittelisivät komentoja. Tätä käytetään väittämään, että komennot on tehty, jotta menetettäisiin tulevia kutsumuksia tehdä .

-v

Tulosta malliohjelman versio sekä tekijänoikeus, luettelo tekijöistä ja ilmoitus siitä, ettei takuua ole.

-W

Tulosta työhakemisto sisältävä viesti ennen ja jälkeen toisen käsittelyn. Tämä voi olla hyödyllistä rekursiivisten komentojen monimutkaisten pesiä koskevien virheiden seuraamiseksi.

-W- tiedosto

Väität, että kohdetiedostoa on juuri muutettu. Kun käytät -n- lippua, tämä osoittaa, mitä tapahtui, jos muokkaisit tiedostoa. Ilman -n , se on melkein sama kuin kosketuskomennon suorittaminen tietyssä tiedostossa, ennen kuin suoritat suorituksen, paitsi että muutosaikaa muutetaan vain tekemisen mielikuvituksella.