"Make utility" tikslas yra automatiškai nustatyti, kokios didelės programos dalys turi būti perkompiuotos, ir išduoda komandas jas perkompiluoti. Vadove aprašyta GNU maketą, kurį parašė Richardas Stallmanas ir Rolandas McGrathas. Šie pavyzdžiai rodo C programas, nes jie yra dažniausiai naudojami, tačiau galite naudoti maketą bet kuria programavimo kalba, kurios kompiliatorius gali būti paleistas naudojant komandą shell. Tiesą sakant, neapsiribojama programomis. Galite naudoti jį apibūdinti bet kokią užduotį, kai kai kurie failai turi būti automatiškai atnaujinami iš kitų, kai kiti pasikeičia.
Pastaba: Šis puslapis yra GNU dokumento dokumento ištrauka . Jis atnaujinamas tik retkarčiais, nes GNU projektas nenaudoja nroff. Norėdami gauti išsamią, dabartinę dokumentaciją, žr. Informacinį failą make.info, kuris pagamintas iš Texinfo šaltinio failo make.texinfo.
Sintaksė ir paruošimo įrankis
padaryti -f Makefile pasirinkimas … taikinys …
Norėdami paruošti naudoti maketą, turite parašyti failą, vadinamą "makefile", kuriame aprašomi ryšiai tarp jūsų programos failų ir nurodomos kiekvieno failo atnaujinimo komandos. Paprastai vykdomąjį failą atnaujina iš objektų failų, kurie, savo ruožtu, atliekami kaupiant šaltinio failus.
Kai yra tinkamas Makefile, kiekvieną kartą keičiate kai kuriuos šaltinio failus, tai paprasta apvalkalo komanda padaryti pakanka atlikti visus reikiamus rekompiliavimus. "Make" programa naudoja "makefile" duomenų bazę ir paskutinius failų keitimo laiką, kad nuspręstų, kuriuos failus reikia atnaujinti. Kiekvienam iš šių failų ji išduoda komandas, įrašytas į duomenų bazę.
"Make utility" vykdo komandos "Makefile" komandas, kad būtų atnaujintas vienas ar keli tiksliniai pavadinimai, kur vardas paprastai yra programa. Jei ne-f parinktis yra, ieškos makefileGNUmakefile, Makefile, irMakefile, tokia tvarka.
Paprastai jūs turėtumėte paskambinti savo makefile arba makefile, arba Makefile. (Rekomenduojama naudoti Makefile nes jis akivaizdžiai pasirodo šalia katalogo sąrašo pradžios, tiesiai šalia kitų svarbių failų, tokių kaipSKAITYK MANE.) Patikrintas vardas, GNUmakefile, nerekomenduojamas daugeliui makefile. Turėtumėte naudoti šį pavadinimą, jei turite "Makefile", kuris būdingas GNU markei, ir jis nebus suprastas kitose versijos versijose. Jei makefile yra -, nuskaitoma standartinė įvestis.
The padaryti įrankis atnaujina tikslą, jei jis priklauso nuo būtinų failų, kurie buvo pakeisti, nes paskutinį kartą buvo pakeistas taikinys, arba jei tikslai neegzistuoja.
Galimybės
The -b ir -m parinktys yra ignoruojamos dėl suderinamumo su kitomis maketų versijomis.
C dir pasikeis į katalogą dir prieš skaitydami maketuosius arba atliksime dar ką nors. Jei kelios-C parinktys yra išdėstytos, kiekviena interpretuojama ankstesnėje dalyje:-C/ -C tt yra lygiavertis-C / tt. Paprastai tai naudojama su makrokomandos rekursiniu būdu.
The -d parinktis, be normalaus apdorojimo, atspausdins ir derinimo informaciją. Informacijoje apie derinimą nurodoma, kokie failai yra svarstomi pertvarkyti, kokie failų laikai yra lyginami ir kokie rezultatai, kurie failai iš tikrųjų turi būti pertvarkyti, kokios numanomos taisyklės yra laikomos ir taikomos, viskas įdomu, kaip nuspręsti, ką daryti .
The -e parinktis suteikia kintamuosius, paimtus iš aplinkos, pirmenybę prieš kintamuosius iš makefile.
The -f failas variantas naudoja failas kaip "Makefile".
The -i parinktis ignoruoja visas klaidas vykdant komandas, skirtas pertvarkyti failus.
The -I dir parinktis nurodo katalogą dir ieškoti įtrauktų maketų failų. Jei kelios-I Parinktys naudojamos norint nurodyti keletą katalogų, katalogai ieškoma nurodytoje eilėje. Skirtingai nuo argumentų kitoms maketavimo vėliavoms, katalogai pateikiami su-I vėliavos gali būti tiesios po vėliavos:-Idir taip pat leidžiama-I dir . Ši sintaksė leidžiama suderinimui su C preprocesoriaus-I vėliava
The -j darbo vietų parinktis nurodo, kiek darbo vietų (komandų) paleisti vienu metu. Jei yra daugiau nei vienas-j pasirinkimas, paskutinis yra veiksmingas. Jei-j parinktis pateikiama be argumento padaryti nebus apriboti darbo vietų skaičių, kuris gali būti vykdomas vienu metu.
The -k pasirinkimas tęsiasi kiek įmanoma po klaidos; o tikslas, kurio nepavyko, ir nuo jo priklausantys tikslai negali būti pertvarkyti, kitos šių tikslų priklausomybės gali būti apdorojamos vienodai.
The -l ir -l apkrova parinktys nurodo, kad nereikėtų pradėti naujų darbo vietų (komandų), jei yra kitų darbo vietų, o apkrovos vidurkis yra bent jauapkrova (plūduriuojančio taško numeris). Nesant jokių argumentų, ji pašalina ankstesnę apkrovos ribą.
The -n parinktis spausdina komandas, kurios bus įvykdytos, bet jų nevykdys.
The -o failas parinktis nepakeis failas net jei ji yra vyresnė nei jos priklausomybė, ir nieko nereikia daryti dėl pakeitimų failas . Iš esmės failas laikomas labai senas ir jo taisyklės ignoruojamos.
The -p parinktis spausdina duomenų bazę (taisykles ir kintamas vertes), kurios gaunamos skaitant "makefile". Tada jis vykdomas kaip įprasta arba kaip nurodyta kitaip.Tai taip pat atspausdina informaciją apie versiją-v perjungti (žr. toliau). Jei norite spausdinti duomenų bazę nesistengiant perdaryti jokių failų, naudokitepadaryti -p -f / dev / null .
The -q parinktis nustato klausimo režimą. Negalima paleisti jokių komandų arba spausdinti nieko, tiesiog grįžkite išėjimo statusą, kuris yra lygus nuliui, jei nurodyti tikslai jau yra atnaujinami, kitaip nenurodyta.
The -r parinktis pašalina naudojamų integruotų numanomų taisyklių naudojimą. Taip pat išvalomas numatytųjų priesagų sąrašas priesagų taisyklėms.
The -s pasirinkimas sustabdo operaciją. Tai neatspausdina komandų, kai jos vykdomos.
The -S pasirinkimas atšaukia-k pasirinkimas. Tai niekada nereikalinga, išskyrus rekursyvų maketą kur-k gali būti paveldėta iš aukščiausio lygio makro per MAKEFLAGS arba, jei jūs nustatote-k MAKEFLAGS jūsų aplinkoje.
The -t pasirinkimas paliečia failus (žymi juos atnaujintais, be jų keitimo), o ne paleisti jų komandas. Tai naudojama, kad apsimestų, kad komandos buvo padarytos, kad apgauti ateityje paskelbtus "make" ženklus.
The -v parinktis spausdina "make" programos versiją, autorių teises, autorių sąrašą ir įspėjimą, kad nėra jokios garantijos.
The -w parinktis spausdina pranešimą, kuriame yra darbo aplankas prieš ir po apdorojimo. Tai gali būti naudinga norint išsiaiškinti klaidas iš sudėtingų rekursinio maketo lizdo komandos.
The -W failas pasirinkimas pretenduoja į tikslą failas ką tik buvo pakeistas. Kai naudojamas su-n vėliava, tai parodo, kas atsitiks, jei pakeistumėte tą failą. Be-n, tai yra beveik tas pats, kaip paleisti apaliesti komandą į nurodytą failą prieš paleidžiant maketą, išskyrus tai, kad modifikavimo laikas keičiamas tik maketos vaizduote.













