Make - Linux Command - Unix Command

make - GNU tagħmel utilità biex iżżomm gruppi ta 'programmi

Sinteżi

tagħmel [ -f makefile ] [għażla] ... mira ...

Twissija

Din il-paġna hija estratt tad-dokumentazzjoni tal- GNU make. Huwa aġġornat okkażjonalment biss għaliex il-proġett GNU ma jużax nroff. Għal dokumentazzjoni sħiħa u attwali, irreferi għall-fajl Info make.info li huwa magħmul mill-fajl tas-sors Texinfo make.texinfo .

Deskrizzjoni

L-għan tal-utilità tal- għamla huwa li jiddetermina awtomatikament liema biċċiet ta 'programm kbir jeħtieġ li jerġgħu jiġu kkumpilati u joħroġ il- kmandi biex jerġgħu jiġbruhom. Il-manwal jiddeskrivi l-implimentazzjoni tal-GNU ta ' għamla , li kienet miktuba minn Richard Stallman u Roland McGrath. L-eżempji tagħna juru programmi C peress li huma l-aktar komuni, iżda tista 'tuża tagħmel ma' kwalunkwe lingwa ta 'programmar li l-kompilatur tagħha jista' jsir b'mandat ta 'qoxra. Fil-fatt, l- għamla mhix limitata għall-programmi. Tista 'tużaha biex tiddeskrivi kull kompitu fejn xi fajls għandhom jiġu aġġornati awtomatikament minn oħrajn kull meta l-oħrajn jinbidlu.

Biex tipprepara biex tuża tagħmel , trid tikteb fajl imsejjaħ il- makefile li jiddeskrivi r-relazzjonijiet fost il-fajls fil-programm tiegħek, u l-istati l-kmandi għall-aġġornament ta 'kull fajl. Fi programm, tipikament il-fajl eżekutibbli jiġi aġġornat minn fajls ta 'oġġetti, li min-naħa tagħhom huma magħmula billi jikkompilaw fajls tas-sors.

Ladarba teżisti makefile xieraq, kull darba li tbiddel xi fajls tas-sors, dan il-kmand tal-qoxra sempliċi:

tagħmel

huwa biżżejjed biex iwettaq il-kompilazzjonijiet kollha meħtieġa. Il-programm tal- għamla juża l-bażi tad-data tal-makefile u l-ħinijiet tal-aħħar modifika tal-fajls biex jiddeċiedu liema mill-fajls għandhom jiġu aġġornati. Għal kull wieħed minn dawk il-fajls, joħroġ il-kmandi rreġistrati fid-database.

tagħmel tesegwixxi kmandi fil- makefile biex taġġorna isem wieħed jew aktar ta 'mira, fejn l- isem huwa tipikament programm. Jekk le -f għażla hija preżenti, tagħmel se tfittex il-makefiles GNUmakefile , makefile , u Makefile , f'dik l-ordni.

Normalment għandek titlob il-makefile tiegħek jew makefile jew Makefile . (Nirrakkomandaw Makefile għax jidher prominenti qrib il-bidu ta 'elenkar tad-direttorju, dritt ħdejn fajls importanti oħra bħal README .) L-ewwel isem ikkontrollat, GNUmakefile , mhux irrakkomandat għall-maġġoranza ta' makefiles. Għandek tuża dan l-isem jekk għandek makefile li huwa speċifiku għall-GNU make , u ma tinftiehemx minn verżjonijiet oħra ta ' għamla . Jekk makefile huwa `- ', l-input standard jinqara.

tagħmel l- aġġornamenti ta 'mira jekk tiddependi fuq fajls prerekwiżiti li ġew immodifikati minħabba li l-mira ġiet modifikata l-aħħar, jew jekk il-mira ma teżistix.

GĦAŻLIET

-b

-m

Dawn l-għażliet huma injorati għall-kompatibilità ma 'verżjonijiet oħra ta' għamla .

-C dir

Ibdel id- direttorju qabel taqra l-makefiles jew tagħmel xi ħaġa oħra. Jekk jiġu speċifikati għażliet multipli -C , kull wieħed huwa interpretat relattivament għal dak preċedenti: -C / -C eċċ huwa ekwivalenti għal -C / eċċ. Dan tipikament jintuża ma 'invokazzjonijiet rikurrenti ta' għamla .

-d

Ipprintja informazzjoni ta 'debugging flimkien mal-ipproċessar normali. L-informazzjoni ta 'debugging tgħid liema fajls qed jiġu kkunsidrati għar-rimedjar, liema perjodi ta' fajls qed jiġu mqabbla u b'liema riżultati, liema fajls fil-fatt għandhom bżonn jiġu rimedjati, liema regoli impliċiti huma kkunsidrati u liema huma applikati --- kollox interessanti dwar kif jiddeċiedi X'tagħmel.

-e

Agħti varjabbli meħuda mill-preċedenza ambjentali fuq varjabbli minn makefiles.

-f fajl

Uża l- fajl bħala makefile.

-i

Injora l-iżbalji kollha fil-kmandi eżegwiti għall-fajls ta 'remake.

-I jien

Tiddefinixxi direttorju dir għal tiftix għal makefiles inklużi. Jekk diversi għażliet I huma wżati biex jispeċifikaw bosta direttorji, id-direttorji huma mfittxija fl-ordni speċifikat. B'differenza mill-argumenti għal bnadar oħra ta ' għamla , direttorji mogħtija bi -I bnadar jistgħu jidħlu direttament wara l-bandiera: -I dir huwa permess, kif ukoll -I say. Din is-sintassi hija permessa għall-kompatibilità mal-bandiera -I tal-preproċessur ta 'C.

-j impjiegi

Jispeċifika n-numru ta 'impjiegi (kmandi) biex jimxu simultanjament. Jekk hemm aktar minn għażla waħda -j , l-aħħar waħda hija effettiva. Jekk l-għażla -j tingħata mingħajr argument, tagħmel ma tillimitax in-numru ta 'impjiegi li jistgħu jimxu simultanjament.

-k

Kompli kemm jista 'jkun wara żball. Filwaqt li l-mira li fallew, u dawk li jiddependu fuqha, ma tistax terġa 'tinbena, id-dipendenzi l-oħra ta' dawn il-miri jistgħu jiġu pproċessati kollha l-istess.

-l

-l tagħbija

Jispeċifika li l-ebda xogħol (kmand) ġdid ma għandu jinbeda jekk ikun hemm impjiegi oħra li jaħdmu u l-medja tat-tagħbija tkun għall-inqas tagħbija (numru ta 'punt f'wiċċ l-ilma). Bl-ebda argument, ineħħi limitu tat-tagħbija preċedenti.

-n

Stampa l-kmandi li jistgħu jiġu eżegwiti, iżda ma teżegwixhom.

-o fajl

M'għandekx remake l-fajl tal- fajl anki jekk tkun iżjed antika mid-dipendenzi tagħha, u m'għandekx tagħmel xi ħaġa mill-ġdid minħabba bidliet fil- fajl . Essenzjalment il-fajl huwa trattat bħala antik u r-regoli tiegħu huma injorati.

-p

Stampa l-bażi tad-data (regoli u valuri varjabbli) li tirriżulta mill-qari tal-makefiles; imbagħad tesegwixxi bħas-soltu jew kif speċifikat mod ieħor. Dan juri wkoll l-informazzjoni tal-verżjoni mogħtija mill-swiċċ -v (ara hawn taħt). Biex tipprintja l-bażi tad-dejta mingħajr ma tipprova tirrimedja xi fajls, uża tagħmel -p -f / dev / null.

-q

`` Mistoqsija modalità ''. M'għandekx tħaddem xi kmandi, jew tistampa xejn; just return status ta 'ħruġ li huwa żero jekk il-miri speċifikati huma diġà aġġornati, mhux żero mod ieħor.

-r

Elimina l-użu tar-regoli impliċiti integrati. Ċara wkoll il-lista tal-inadempjenza tas-suffissi għar-regoli tas-suffiċijiet.

-s

Operazzjoni siekta; ma tipprintjax il-kmandi hekk kif jiġu eżegwiti.

-S

Ikkanċella l-effett tal-għażla -k . Dan qatt mhu meħtieġ ħlief f'xi għamla ta ' rikursiv fejn -k jista' jintiret mill-ogħla livell permezz ta 'MAKEFLAGS jew jekk issettja -k f'MAKEFLAGS fl-ambjent tiegħek.

-t

Fajls Touch (immarkahom aġġornati mingħajr ma verament ibiddluhom) minflok imexxu l-kmandi tagħhom. Dan jintuża biex nippretendu li l-kmandi saru, sabiex iqarqu l-invokazzjonijiet futuri tal- għamla .

-v

Stampa l-verżjoni tal-programm tal- għamla flimkien ma 'awtur, lista ta' awturi u avviż li m'hemm l-ebda garanzija.

-w

Stampa messaġġ li jkun fih id-direttorju tax-xogħol qabel u wara proċessar ieħor. Dan jista 'jkun utli biex jiġu rintraċċati l-iżbalji mill-bejtiet ikkumplikati ta' kmandi ta ' għamla rikurrenti.

-W file

Ftakar li l- fajl fil-mira għadu kemm ġie mmodifikat. Meta tintuża mal-bandiera-n, dan juri x'jiġri jekk ikollok timmodifika dak il-fajl. Mingħajr-n, huwa kważi l-istess bħal tmexxija ta ' mess fuq il-fajl mogħti qabel ma tagħmel il- ġirja, ħlief li l-ħin ta' modifika jinbidel biss fl-immaġinazzjoni tal- għamla .