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 .