Padaryti - Linux Command - Unix komanda

make - GNU parengti programinę įrangą, kad išlaikytų programų grupes

Anotacija

padaryti [ -f makefile ] [parinktis] ... tikslas ...

Įspėjimas

Šis puslapis yra GNU dokumento dokumento ištrauka . Jis atnaujinamas tik retkarčiais, nes GNU projektas nenaudoja nroff. Norėdami gauti išsamią esamą dokumentaciją, žr. Informacijos failą make.info, kuris yra sukurtas iš Texinfo šaltinio failo make.texinfo .

apibūdinimas

" 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. Mūsų 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.

Norėdami paruošti naudoti maketą , turite parašyti failą, vadinamą maketu, kuris aprašo ryšį tarp jūsų programos failų ir nurodo komandas atnaujinti kiekvieną failą. Programoje paprastai vykdomąjį failą atnaujina iš objektų failų, kurie, savo ruožtu, atliekami kaupiant šaltinio failus.

Kai yra tinkamas "makefile", kiekvieną kartą keičiantis kai kuriuos šaltinio failus, ši 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ę.

atlieka komandas makefile, kad būtų atnaujintas vienas ar keli tiksliniai pavadinimai , kur vardas paprastai yra programa. Jei nėra -f parinkties, makro ieškos makefiles GNUmakefile , makefile ir Makefile , tokia tvarka.

Paprastai jūs turėtumėte paskambinti savo makefile arba makefile, arba Makefile . (Rekomenduojame Makefile, nes jis yra aiškiai šalia katalogo sąrašo pradžios tiesiai šalia kitų svarbių failų, pvz., README .) Patikrintas vardas, GNUmakefile , nerekomenduojamas daugeliui maketų failų . Turėtumėte naudoti šį pavadinimą, jei turite "Makefile", kuris būdingas GNU markei , ir jis nebus suprastas kitose versijos versijose. Jei makefile yra `- ', skaitoma standartinė įvestis.

atnaujinti tikslą, jei jis priklauso nuo būtinų failų, kurie buvo pakeisti, nes paskutinį kartą buvo pakeistas taikinys, arba jei tikslai neegzistuoja.

GALIMYBĖS

-b

-m

Šios parinktys yra ignoruojamos dėl suderinamumo su kitomis versijos versijomis.

C dir

Pakeiskite katalogų rinkinį prieš skaitant maketą arba atlikdami dar ką nors. Jei yra nurodytos kelios C parinktys, kiekviena interpretuojama lyginant su ankstesniu: -C / -C- tt yra lygiavertis C / ir tt. Paprastai tai naudojama su makrokomandos rekursiniu būdu.

-d

Spausdinkite derinimo informaciją be įprasto apdorojimo. 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.

-e

Duok kintamuosius, paimtus iš aplinkos, pirmenybę prieš kintamuosius iš makefile.

-f failas

Naudokite failą kaip makefile.

-i

Ignoruokite visas klaidas vykdant komandas pertvarkyti failus.

-I dir

Nurodo katalogo dir, kuriame ieškoma įtrauktų maketų failų. Jei keliems katalogams nurodyti yra kelios -I parinktys, katalogai ieškoma nurodytoje eilėje. Skirtingai nuo argumentų kitoms maketavimo vėliavoms, katalogai, nurodyti su -I vėliavomis, gali būti iškart po vėliavos: -I dir yra leidžiama, taip pat -I dir. Ši sintaksė leidžiama suderinimui su C preprocesoriaus vėliava -I .

-j darbo vietų

Nurodo, kiek darbo vietų (komandų) paleisti vienu metu. Jei yra daugiau nei viena -j parinktis, paskutinis yra veiksmingas. Jei -j parinktis suteikiama be argumentų, tai neapsiriboja vienkartinių darbo vietų skaičiumi.

-k

Tęskite kiek įmanoma po klaidos. Nors tikslai, kurių nepavyko ir kurie priklauso nuo jo, negali būti pertvarkyti, kitos šių tikslų priklausomybės gali būti apdorojamos vienodai.

-l

-l apkrova

Nurodo, kad nėra naujų darbo vietų (komandų), jei yra kitų darbo vietų ir apkrovos vidurkis yra bent jau apkrova (plūduriuojančio taško numeris). Jei nėra argumentų, pašalinama ankstesnė apkrovos riba.

-n

Spausdinkite komandas, kurios bus įvykdytos, bet nevykdykite jų.

-f failas

Neperformink failo bylos, net jei jis yra vyresnis nei jo priklausomybės, ir nieko nepakeiskite dėl failo pakeitimų. Iš esmės failas laikomas labai senas ir jo taisyklės ignoruojamos.

-p

Spausdinkite duomenų bazę (taisykles ir kintamas vertes), kurios gaunamos skaitydami makefiles; tada vykdykite kaip įprasta arba kaip nurodyta kitaip. Tai taip pat atspausdina -v jungiklio pateiktą versijos informaciją (žr. Toliau). Jei norite spausdinti duomenų bazę nesistengiant perdaryti jokių failų, naudokite make -p -f / dev / null.

-q

`` Klausimų režimas ''. Nenaudokite jokių komandų arba spausdinkite nieko; Tiesiog grąžinkite išėjimo būseną, kuri yra lygi nuliui, jei nurodyti tikslai jau yra atnaujinami, kitaip nenurodyta.

-r

Pašalinkite integruotų numanomų taisyklių naudojimą. Taip pat išvalykite numatytąjį priesagų priesagų taisyklių sąrašą.

-s

Tylus veikimas; neskelbkite komandų, kai jos yra įvykdytos.

-S

Atšaukti -k pasirinkimo efektą. Tai niekada nereikalinga, išskyrus rekursyvų maketą, kur -k gali būti paveldėtas iš aukščiausio lygio makro per MAKEFLAGS arba jei nustatote -k savo aplanke MAKEFLAGS.

-t

Palieskite failus (pažymėkite juos naujausiais, nekeisdami jų), o ne paleiskite jų komandas. Tai naudojama, kad apsimestų, kad komandos buvo padarytos, kad apgauti ateityje paskelbtus " make" ženklus.

-v

Spausdinkite maketo programos versiją ir autorių teises, autorių sąrašą ir įspėjimą, kad nėra jokios garantijos.

-w

Spausdinkite pranešimą, kuriame yra darbo aplankas prieš ir po apdorojimo. Tai gali būti naudinga norint išsiaiškinti klaidas iš sudėtingų rekursinių komandų maketų lizdų.

-W failas

Pretenduokite, kad tikslinė rinkmena ką tik buvo pakeista. Kai naudojamas su -n vėliavėle, tai parodo, kas atsitiks, jei norite pakeisti tą failą. Be -n , prieš paleidžiant maketą , tai yra beveik tokia pati kaip paleisti komandą liesti , išskyrus tai, kad keitimo laikas keičiamas tik maketos vaizduote.