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. Nämä esimerkit 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.
Huomautus: Tämä sivu on ote GNU-merkin dokumentaatiosta . Se päivitetään vain satunnaisesti, koska GNU-projekti ei käytä nroff-tiedostoa. Saat täydellistä, nykyistä dokumentaatiota tiedostosta make.info, joka on tehty Texinfo-lähdetiedostosta make.texinfo.
Syntaksi ja hyödyllisyyden valmistelu
tehdä -f makefile vaihtoehto … kohde …
Jos haluat valmistautua käyttämään, sinun on kirjoitettava tiedosto nimeltä makefile, joka kuvaa ohjelman tiedostojen välisiä suhteita ja ilmoittaa kunkin tiedoston päivittämisen komennot. Tyypillisesti suoritustiedosto päivitetään objektitiedostoista, jotka puolestaan tehdään tekemällä lähdetiedostoja.
Kun sopiva makefile on olemassa, aina 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-apuohjelma suorittaa komentosarjat makefile-muodossa päivittämään yhden tai useamman kohdenimen, missä nimi on tyypillisesti ohjelma. Jos ei-f vaihtoehto on läsnä, make etsii makefilejäGNUmakefile, makefile, jamakefile, tässä järjestyksessä.
Tavallisesti sinun pitäisi soittaa makefile-tiedostoon joko makefile tai Makefile. (On suositeltavaa käyttää Makefile-ohjelmaa koska se näkyy näkyvästi lähellä hakemistoluettelon alkua, aivan muiden tärkeiden tiedostojen lähellä, kutenLUEMINUT.) Etunimeä tarkistettu, GNUmakefile, ei suositella useimpiin makefileihin. Sinun tulisi käyttää tätä nimeä, jos sinulla on makefile, joka on erityinen GNU-merkki, eikä muut versiot ymmärrä. Jos makefile on -, standardi tulo luetaan.
tehdä apuohjelma päivittää kohteen, jos se riippuu valmiiksi määritetyistä tiedostoista, joita on muokattu, koska kohdetta on viimeksi muutettu tai jos kohdetta ei ole olemassa.
vaihtoehdot
-b ja -m vaihtoehtoja ei oteta huomioon yhteensopivuuden muiden versioiden kanssa.
-C dir muuttuu hakemiston hakemistoon ennen kuin se lukee makefilejä tai tekee mitään muuta. Jos useita-C vaihtoehdot määritetään, jokainen tulkitaan suhteessa edelliseen:-C/ -C jne vastaa-C / etc. Tätä käytetään tyypillisesti rekursiivisten kutsumusten tekemiseen.
-D vaihtoehto tulostaa virheenkorjaustiedot normaalin käsittelyn lisäksi. Vianmääritystiedoissa kerrotaan, mitkä tiedostot ovat parhaillaan uusittavissa, mitä tiedostokertoja verrataan ja millaisia tuloksia, mitä tiedostoja todellisuudessa tarvitaan uudelleen, mitä implisiittisiä sääntöjä harkitaan ja joita sovelletaan - kaikki on mielenkiintoista siitä, miten päättää, mitä tehdä .
-e vaihtoehto antaa muuttujat, jotka on otettu ympäristön etusijasta muuttujien välillä.
-f tiedosto vaihtoehto käyttää tiedosto kuin makefile.
-i -asetus jättää kaikki virheet komentoihin, jotka suoritetaan tiedostojen uudelleenkäsittelyyn.
-I dir -asetus määrittää hakemiston dir etsimään sisällytettyjä makefilejä. Jos useita-I asetuksia käytetään määrittämään useita hakemistoja, hakemistoja etsitään määritetyllä järjestyksessä. Toisin kuin muiden merkkien lippujen argumentit, hakemistot, jotka on annettu nimellä-I liput voivat tulla suoraan lipun jälkeen:-Idir on sallittua, samoin kuin-I dir . Tämä syntaksi on sallittu yhteensopivuuden C-esikäsittelijän kanssa-I lippu.
-j työpaikkoja -vaihtoehto määrittelee samanaikaisesti töiden määrän (komennot). Jos on enemmän kuin yksi-j vaihtoehto, viimeinen on tehokas. Jos-j vaihtoehto annetaan ilman väitettä, make ei rajoita sellaisten työpaikkojen määrää, jotka voivat toimia samanaikaisesti.
-k vaihtoehto jatkuu mahdollisimman paljon virheen jälkeen; kun taas epäonnistunut kohde ja ne, jotka riippuvat siitä, ei voida korjata, näiden muiden kohteiden riippuvuuksia voidaan käsitellä samalla tavalla.
-l ja -l lataa Asetukset määrittävät, että uusia työpaikkoja (komentoja) ei pitäisi aloittaa, jos muita töitä on käynnissä ja kuormitus on keskimäärin vähintäänladata (liukulukuinen numero). Ilman argumenttia se poistaa aiemman kuormitusrajan.
-n vaihtoehto tulostaa suoritettavat komennot, mutta ei suorita niitä.
-o tiedosto vaihtoehto ei remake tiedosto vaikka se olisikin vanhempi kuin sen riippuvuudet, ja se ei remake mitään muutoksista johtuen tiedosto . Pohjimmiltaan tiedostoa käsitellään hyvin vanhana ja sen sääntöjä ei oteta huomioon.
-p -asetus tulostaa mallitietojen lukemisen tuloksena olevan tietokannan (säännöt ja muuttujat). Sitten se suoritetaan tavalliseen tapaan tai muutoin määriteltynä.Tämä tulostaa myös-v (katso alla). Jos haluat tulostaa tietokannan ilman uudelleenkäsittelyä, käytä sitätehdä -p f / dev / null .
-q vaihtoehto asettaa kysymystilan. Älä suorita mitään komentoja tai tulosta mitään, vaan palauta poistumistilaan, joka on nolla, jos määritetyt kohteet ovat jo ajan tasalla, ei muuten.
-r vaihtoehto poistaa käytöstä sisäänrakennetut implisiittiset säännöt. Lisäksi tyhjennetään oletuslista loppuliitteiden sääntöjen jäljistä.
-S -toiminto hiljentää operaation. Se ei tulosta komentoja, kun ne suoritetaan.
-S vaihtoehto kumoaa-k vaihtoehto. Tämä ei ole koskaan tarpeen, paitsi rekursiiviseen merkkiin missä-k voi olla peritty ylimmän tason merkkijonoon MAKEFLAGSin kautta tai jos asetat-k MAKEFLAGS-ympäristössä.
-t -vaihtoehto koskettaa tiedostoja (merkitsee ne ajan tasalla ilman, että niitä todella muutetaan) sen sijaan, että ne toimisivat komennoillaan. Tätä käytetään väittämään, että komennot on tehty, jotta menetettäisiin tulevia kutsumuksia tehdä.
-v -vaihtoehto tulostaa make-ohjelman version sekä tekijänoikeuden, luettelon tekijöistä ja ilmoituksen siitä, ettei takuua ole.
-W -vaihtoehto tulostaa työhakemistoa sisältävän viestin ennen ja jälkeen toisen käsittelyn. Tämä voi olla hyödyllistä rekursiivisten tekijöiden monimutkaisten pesiä koskevien virheiden seuraamiseksi komentoja.
-W tiedosto vaihtoehto teeskentelee, että kohde tiedosto on juuri muutettu. Kun sitä käytetään-n lippu, tämä osoittaa, mitä tapahtuisi, jos muokkaisit tiedostoa. Ilman-n, se on lähes sama kuin akosketus komentokehotteeseen ennen kuin suoritat merkinnän, paitsi että muutosaikaa muutetaan vain mielikuvituksessa.




