meek (software)

software vikasamadhye, meek heey eka billed automation tool aahe jeey "makefiles" navachya fayali vachoon soars kodmadhun executable program aanee library tayar karate jeey lakshya program kassa midvayacha heey nirdisht karate. jaree ekatmik vikas vatavaran aanee bhasha-vishisht sankalak vaishishtyancha vapar bandhkam prakriya vyavasthapit karnyasathi keela jaau shakato, tarihi visheshtah unix aanee yuniksasarkhya karyapranalimadhye, avashesh mothya pramanat vaparale jaatat.
mekcha vapar konatyahi prakalpache vyavasthapan karnyasathi keela jaau shakato, jethe kahee fayali itarankadun svayamchalitapane adyayavat karane aavashyak asate, jevha itar programs tayar karnyabarobarach badaltat.
mool.
meek hii sarvat vyapak avalambitva-magova ghenari bandhkam upayuktata aahe, pramukhyane yuniksmadhye tyachya prarambhik samaveshamule, pwb/unix 1 pasoon suru hote, jyamadhye software vikas karyansathi vividh sadhane hotee. yachee nirmiti stuart feldmanne april 1976 madhye bail labmadhye kelee hotee. yaa sadhanache lekhan kelyabaddal feldmanla feldmanla aii. see. emm. software system puraskar midala.
feldmanla eka eka tyachya programche nirathak debug karnyachya anubhavavarun meek lihinyachi prerana midali, jithe executable chukun badalansah adyayavat kele jaat navhteh
mekchya parichayapurvi, unix billed pranalimadhye samanyatah tyanchya programchya srot codes operating systemwer avalambun asalelya 'meek' aanee 'install' shale scriptscha samavesh hota. bandhani uddishtansathichya aadeshanna ekach sanchiket ekatra karane aanee avalambitva magova aanee sangrah hatalani heey aadhunik bandhani vatavaranachya dishene eka mahattvache paul hote.
vyutpann.
samaan file swaroop aanee moolbhut algoridmik tattve tattve aanee gair-manak sudharana dekhil pradan pradan naveen amalbajavanisaha meek anek vela punarlikhit kele gele aahe. udaharane asheeh
posixmadhye moolbhut vaishishtyanche pramanikaran aanee meek utilityche sanchalan samavisht aahe aanee unix-aadharit aavrutyanmadhye vividh pramanat paripoornatesah tyachi amalbajavani kelee jaate. sarvasadharanpane, sadhya makefilecha vapar mekchya vividh aavrutyanmadhye vajvi yashasah keela jaau shakato. gnu meek, mekap aanee bii. ess. dii. chya kahee aavrutya anukrame 'gnumacafile', 'mcpfile' aanee 'bii. ess. dii. makefile' navachya fayali pratham shodhanyasathi purvanirdharit karatat, jyamule ekhadyala makefile thevanyachi parvanagi milate jyaa amalbajavani-paribhashit vartanacha vapar vegalya thikani karatat.
vartan.
mekcha vapar samanyatah soars kodmadhun executable program aanee library tayar karnyasathi keela jaato. samanyatah, jaree, meek konatyahi prakriyes lagoo hote jyamadhye soars fileche lakshya parinamanmadhye rupantar karnyasathi aniyantrit aadeshanchi amalbajavani karane samavisht asate. udaharanarth, mekcha vapar pratima filemadhye (srot) kelela badal shodhanyasathi keela jaau shakato aanee parivartanachya krutee mhanje fileche kahee vishisht swarupat rupantar karane, parinamachi samagri vyavasthapan pranalimadhye prat karane aanee nantar krutee kelya gelya asalyache asalyache vaparkartyanchya sanchala eae-mail pathvane.
meek haah aadesh-ola yuktivadanchya swarupat lakshya navanchya yadisah lagoo keela jaatoh
[lakshya qaraa...]
yuktivad naan karata, meek tyachya makefilemadhe disanare pahile lakshya tayar karate, jeey paramparikpane 'aul' navache pratikatmak 'banavat' lakshya aahe.
filemadhil badalanchya velechi tulana karoon lakshya punha nirman karane aavashyak aahe qee nahee heey tharwa. yamule, aadhich adyayavat asalelya files tayar karane talhanyachi samasya sodavali jaate, parantu jevha file badalate tevha tee ayashasvi hote parantu tyachi badalanyachi vel bhootkalat rahate. asey badal srot filechi junie aavrutti punarsanchayit kelyamule kinwa jevha network filesystem haah fayalicha srot asato aanee tyache ghadyal kinwa vel kshetra chaloo asalelya machinechya nirmitishi samkramit hott nahee tevha houu shakatat. vaparkartyane sampoorn bandhani saktine karoon hii paristhiti hatalali pahije. yaulat, jarr srot filechya badalanyachi vel bhavishyat asel, tarr tee anavashyak punarbandhanila chalana dete, jyamule vaparkartyanchi gairsoy houu shakate.
makefilecha vapar paramparikpane code sankalit karnyasathi keela jaato (*.see, *.see. see., *.qa, ityadi.), parantu samanya kaame svayanchalit karnyasathi aadesh pradan karnyasathi dekhil tyancha vapar keela jaau shakato. asha eka makefile kamand lineveroon mhanatatah
vaad naan karata #heey pahile lakshya qaraa
madat qaraa #upalabdh uddishte dakhva
sadhyachya dii. aay. aar. madhoon dist #prakashan sangrah banwa
pratishthapan naan karata #unit chachani tapasa
makefile.
makefilesathi sadhyachi nirdeshika shodha, udaa.jee., kinwa navachya eka filesathi jee. aine. yuu. shodh fayali banavate. aanee nantar tyaa filemadhun nirdisht (kinwa purvanirdharit) lakshya (oo) aavahan karate.
makefile bhasha hii ghoshanatmak programingsarkhich aahe. bhashecha haah varg, jyamadhye aavashyak antim atinche varnan kele aahe parantu jyaa kramane krutee karayachi aahe tee mahattvachi nahee, kahivela anivarya programingsathi vaparlya jaanarya programarsathi gondhalat taknari asate.
billed automationmadhil eka samanya samasya mhanje dilelya platformwar billed prakriyeche shivankam. udaharanarth, eka vyaspithavar vaparlela sankalak sankalak vyaspithavar vaparlele paryay swikaranar nahee. hii samasya samanyatah platform-vishisht billed soochana tayar karoon hatalali jaate, jyanchi prakriya mekdware kelee jaate. yaa prakriyesathi samanya sadhane mhanje autoconf, see. emm. meek kinwa jee. pii. (kinwa adhik pragat enji).
mekfayalmadhye paach prakarchya rachana asoo shakatatah
niyam.
makefilemadhe 'niyam' asatat. pratyek niyam majkurachya 'avalambitva reshe' neey suru hoto, joou eka collan (:) aanee paryayipane ghatak (fayali kinwa itar uddishte) jyavar lakshya avalambun aahe, tyanchi ganana karoon lakshya paribhashit karato. avalambitva resha asha prakare tayar kelee jaate qee lakshya (bruhadantracha dawa haat) ghatkanvar (bruhadantracha ujava haat) avalambun asel. ghatakancha ullekh lakshyachya purvat mhanoon karane samanya aahe.
 lakshya [lakshya...]: [ghatak...]
 [aadesh 1]
 .
 [aadesh aine]
sahasa pratyek niyamache anek uddishte nasoon ekach adviteey lakshya asate.
udaharanarth, aii see.object file yethoon tayar kelee jaate.see files, mhanoon.see files pratham yetat (i.eae. vishisht object file lakshya heey see soars file aanee header fayaleevar avalambun asate). kaaran swatahsathi vividh prakarchya files samajoon ghene, olakhane kinwa vegale karane shakya hott nahee, tyamule manvi truti honyachi shakyata ughadate.
pratyek avalambitva olinnantar tab indented kamand lineschee malika asoo shakate jee ghatakanche (sahasa soars fayali) lakshyamadhye (sahasa "output") kase rupantarit karave heey paribhashit karate. jarr konatyahi purvatinmadhye lakshyapeksha alikadil badal vel asel tarr aadesh olee chalavalya jaatat. jee. aine. yuu. meek documentary mhanje niyamashi sambandhit aadeshancha sandarbh 'pakakruti' mhanoon deto.
ardhaviramane vibhakt keleli pahili aadnya purvatinnantar tyach oleet disu shakate,
uddishteh purvat; aadesh
udaharanarth,
namaskarah; @echo "namaskar"
topological sortingdware kuthoon suruvat karayachi heey tharvu shakata.
pratyek aadesh ola hii aadesh mhanoon olakhalya olakhalya tab varnane suru hone aavashyak aahe. tab heey whitespace varn aahe, parantu space varnala samaan vishesh arth nahee. heey samasyapradhan aahe, kaaran tab aanee space carectorschya malikemadhye konatahi drushya farak asoo shakat nahee. makefilechya vakyarachanecha haah pailu anekada tikechya adheen asato; tyache varnan erich ess. yanni kele aahe. raymond heey 'unixchya itihasatil sarvat white rachana doshanpaiki eka' aanee 'unix-hatters handbook' asey mhanatat qee 'vakyarachanecha bhag mhanoon tabcha vapar karane heey' hiravya berret 'madheel panji stickchya sapalyanpaiki ekasarkhe aahe. feldmanne hii nivad agadi pahilya vaparkartyanshi magas susangatatechya ichchhedvare jatan kelelya lavkar amalbajavanichya adchanisathichya upayamule asalyache spasht kele aaheh
jee. aine. yuu. banavato. aavrutti 3.82 pasoon, pakakruti upsarg mhanoon konatyahi chinhachi (eka varn) nivad karanyachi parvanagi dete.udaharanarth, pakakruti upsarg vishesh chalah
.pakakruti upsargah =:
sarvah
pratyek aadesh vegalya shale kinwa kamand-line interpreter udaharanadvare karyanvit keela jaato. karyapranali vegvegalya kamand-line dubhashyancha vapar karat asalyane yamule naan takata takata makefile houu shakatat. udaharanarth, jee. aine. yuu. meek (serve posics banavate) purvanirdharitapane/biin/shasah aadesh chalavate, jethe samanyatah see. pii. sarkhya unix aadeshancha vapar keela jaato. tyaulat, microsoftche 'enmake' heey see. emm. dii. saha aadesh chalavate.exe jethe prat yasarkhya batch kamand upalabdh aahet parantu aavashyakpane cp naheet.
eka niyam pakakruti vagaloo shakato. avalambitva reshemadhye keval itar uddishtancha sandarbh denare ghatak asoo shakatat, udaharnarth
swachchatah swachchh swachchata
niyamachya aadnya resha sahasa asha prakare mandalya jaatat qee jyamule teey lakshya nirman kartil. udaharaneh jarr teey naveen asel tarr teey majkurat rupantarit kele jaate. makefilemadhil samagrih
file.tXT: file.etch. tii. emm. ell.
 links-dump file.etch. tii. emm. ell.> file.tii. ex. tii.
file' adyayavat kartana vareel niyam suru keela jaeel.txt.  pudhil aavahanamadhye, meek samanyatah "file" adyayavat karnyasathi haah niyam vaparel.txt "lakshya asalyas" file.etch. tii. emm. ell. naveen hote.
file tayar qaraa.tii. ex. tii.
aadesh olinmadhye khaleel teen upasarganpaiki eka kinwa adhik upsarg asoo shakatatah
chukankade durlaksh karane aanee pratidhvani shant karane heey paryayipane vishesh uddishtandvare aanee.
microsoftchya enmekmadhye purvanirdharit niyam aahet jeey yaa makefilemadhun vagalale jaau shakatat, udaa.jee. .
macrow.
makefilemadhe macrochya vyakhya asoo shakatat. jevha macromadhye stringchya sopya vyakhya asatat, udaharanarth, tevha tyanna sahasa 'variables' mhanoon sambodhale jaate. mekfayalmadhil macrow heey meek utilityla pathavalelya kamand-line argumentmadhye adhilikhit kele jaau shakatat. paryavaraniy chull heey macrow mhanoon dekhil upalabdh aahet.
macrow vaparkartyanna bandhkam prakriyedarmyan lagoo kelele karyakram aanee itar sanukool vartan nirdisht karanyachi parvanagi detat. udaharanarth, see sankalak asalelya thikanala sandarbhit karnyasathi mekfayalmadhye macrocha varanvar vapar keela jaato aanee vaparkartyala vaparnyasathi vishisht sankalak nirdisht karayacha asel.
naveen macrow (kinwa sadhe 'chull') paramparikaritya mothya aksharancha vapar karoon paribhashit kele jaatatah
macrow = vyakhya
tyacha vistar karnyasathi macrocha vapar keela jaato. paramparikaritya heey tyache naav aat jodoon kele jaate. (aavaran vagalalyas pudhil aksharacha arth sampoorn chull naav mhanoon lavala jaato.) samatulya swarupat kansapeksha kurale brace vapartat, i.eae. , jee bsdmadhe vaparali jaanari shaili aahe.
nyu _ macrow = =
macrow heey bactic () dware darshavilele kamand substitution operator vaparoon shale kamandani tayar kele jaau shakatat.
yyyymmdd = 'tarikh
vyakhyecha aashay 'jase aahe tase' sangrahit keela jaato. aalashi moolyamapan vaparale jaate, yacha arth macrow samanyatah keval tevhach vistarit kele jaatat jevha tyanche vistar pratyakshat aavashyak asatat, jase qee jevha niyamachya aadnya olinmadhye vaparale jaate. eka vistarit udaharan aaheh
package = package
aavrutti = 'tarikh +'% y.% m.% d 
sangrah = $(sankul)-$(aavrutti)
dist
 #lakshat ghya qee shelcha arth lavnyasathi aatach macrocha vistar keela jaatoh
 #taar-see. eff. package-'tarikh + "% y.% m.% d "'.taar
 taar-see. eff. $(sangrah).taar.
aadesh olinvar macrow varr chadhavanyasathi samanya vakyarachana ashee aaheh
macrow = "moolya" [macrow = "moolya" qaraa...] lakshya [lakshya...]
makefile anek purvanirdharit "antargat macrow" paiki konatyahi ekamadhye pravesh karoo shakatat, aanee sarvat samanya aahet.
lakshyh ghatak 1 ghatak 2
 #madhye teey ghatak aahet jyankade laksh denyachi garaj aahe (i.eae. teey sadhyachya lakshyapeksha lahan aahet).
 iko $? 
 #heey bruhadantrachya davya bhagatoon sadhyachya lakshya navache moolyankan karate.
 pratidhvani $@ 
kahee pramanat samanya vakyarachana vistar mhanje samaan chinhaeivaji, aanee, chaa vapar. heey bii. ess. dii. aanee jee. aine. yuu. sarkhyach vastunvar kaam karate.
pratyay niyam.
pratyay niyamanmadhye formmadheel navansah "lakshya" asatat aanee file vistaravar aadharit krutee suru karnyasathi vaparale jaatat. pratyay niyamanchya aadesh olinmadhye, posics heey nirdisht karate qee antargat macrow hii pahili purvat darshavate aanee lakshya darshavate. yaa udaharanamadhye, jeey konatyahi etch. tii. emm. ell. fileche majkurat rupantar karate, shale punarnirdeshan tokan haah aadesh olicha bhag aahe tarr etch. tii. emm. ell. filecha sandarbh denara macrow aaheh
.aaheh. tii. emm. ell.
.etch. tii. emm. ell.tii. ex. tii.:
 links-dump $<> $@
jevha kamand lineveroon coll keela jaato, tevha vareel udaharan vistarte.
$ meek-aine file.tii. ex. tii.
links-dump file.etch. tii. emm. ell.> file.tii. ex. tii.
namuna niyam.
pratyay niyamanchya swatachya konatyahi purvat asoo shakat naheet. tyanchyakade kahee asalyas, tyanna pratyay niyam mhanoon navhe tarr asamanya nave asalelya samanya fayali mhanoon manale jaate. junya makefileshee susangatatesathi jee. aine. yuu. samarthan pratyay niyam banavate parantu anyatha 'namuna niyam' vaparnyas protsahit karate.
eka namuna niyam eka samanya niyamasarkha disato, tyachya lakshyamadhye stringmadhye agadi eka varn asato. lakshya haah filechya navanshi julanara namuna manla jaatoh shoonya kinwa adhik varnanchya konatyahi substringshee lakshya juloo shakate, tarr itar varn keval swatashi julatat. tyachpramane purvatati tyanchya navancha lakshya navachyashi kassa sambandh aahe heey dakhavanyasathi vapartat.
pratyay niyamache vareel udaharan khaleel namuna niyamapramane diselah
%.tXT:%.etch. tii. emm. ell. 
 links-dump $<> $@
itar ghatak.
eka ola tippanya hash chinhane (#) suru kelya jaatat.
mekfayalmadhil kahee nirdeshanmadhye itar mekfayalincha samavesh asoo shakato.
reshechya shevati backslash varnasah reshecha satatya darshavile jaate.
 lakshyh ghatak \
 ghatak
 aadesh; \
 aadesh . \
 pipe-aadesh
udaharanadakhal makefile.
makefileh
package = package
aavrutti = 'tarikh' +% y.% m% d% 
releases _ diir =..
releases file = $(package)-$(aavrutti)
sarvah
 echo "hallow $(lognem), purvanirdharitapane kahihi karayache nahee"
 #kadhikadhih 'hallow ${lognem}, purvanirdharitapane kahihi karayache nahee"
 madat qaraa' assa prayatna qaraa"
madat karah
 egrep "#lakshyh" [miimii] ekfail
yadeeh
 #kaam karnar nahee. pratyek aadesh vegalya kakshat aahe
 see. dii. ess. aar. see.
 ell. ess.
 #barobar, tyach kavchala pudhe chaloo thevane
 see. dii. ess. aar. see.; \
 ell. ess.
dist
 taar-see. eff. $(releases _ dier)/$(releases _ file) & & \
 gzip-9 $(Release _ tir)/$(Release _ File).taar
khalee eka atishay sopee makefile aahe jee purvanirdharitapane ('serve' niyam pratham soochibaddha aahe) 'halloworld' navachi srot file sankalit karate.see "pranalicha see compiler vaparoon aanee vaparkartyala punha prarambh karayacha asalyas tayar kelelya fayali kadhoon taknyasathi eka" swachchh "lakshya dekhil pradan karate. aanee heey done tathakathit antargat macrow aahet (jyanna svayanchalit chull mhanoon dekhil olakhale jaate) aanee anukrame lakshya naav aanee "antarnihit" strotasathi ubhe aahet. khaleel udaharanat, purvatinchya maryadit jagechya yadiparyant vistarato. itar anek antargat macrow aahet.
zende?= -jee.
sarvah halloworld
halloworld halloworld.oo.
 #aadeshanchi suruvat tabchya jaaga naan gheta hote
 $(cc) $(ldflags)-o $@ $^
halloworld.oh halloworld.see.
 $(cc) $(cflags)-c-o $@ $<
swachchah eff. aar. see.
 $(aar. emm.) halloworld halloworld.oo.
eff. aar. see.:
anek pranali purvanirdharit niyam aanee macross yetat, jyat file pratyayavar aadharit sankalan yasarkhi samanya kaame nirdisht kelee jaatat. yamule vaparkartyanna srot (pasoon) pasoon lakshya kase tayar karave yachya vastavik (anekada naan nondavata yenyajogya) soochana vagalata yetat. asha pranalivar vareel makefile khalilpramane sudharit kelee jaau shakateh
sarvah halloworld
halloworld halloworld.oo.
 $(cc) $(cflags) $(ldflags)-o $@ $^
swachchah eff. aar. see.
 $(aar. emm.) halloworld halloworld.oo.
.see.oh
 $(cc) $(cflags)-c $<
eff. aar. see.:
.pratyayahsi.
teey "halloworld".oo 'heey' halloworld 'varr avalambun aahe.see "aata svayamchalitapane mekdware hatalale jaate. yethe spasht kelelya sopya udaharanat heey farse mahattvache nahee, parantu software prakalpatil srot fayalinchi sankhya vadhu lagate tevha pratyay niyamanchi vastavik shakti spasht hote. ekhadyala fakt jodanyachya payarisathi niyam lihawa lagel aanee object fayali purvat mhanoon ghoshit karavya lagtil. tyanantar serve object fayali kasha banvaychya heey spashtapane tharvel aanee serve srot fayalimadhye badal shodhel.
joparyant srot files ekmekanvar aanee header fayalisarkhya itar fayaleevar avalambun nasatat toparyant sadhe pratyay niyam changle kaam karatat. bandhani prakriya sulabh karnyacha aanakhi eka marg mhanje tathakathit namuna julani niyam vaparane jeey sankalak-sahayyit avalambitva nirmitisah jodale jaau shakate. jee. see. see. compiler aanee jee. aine. yuu. meek aavashyak asalele antim udaharan mhanoon, yethe eka samanya makefile aahe jee foldermadhil serve see fayali sambandhit object fayalishi sankalit karate aanee nantar tyanna antim executableshy jodate. sankalan honyapurvi, avalamban heey banavat-file-anukool swarupat lapalelya filemadhye gola kele jaate.tyanantar 'depended' haah makefilemadhe samavisht keela jaato. portable programsne khalee vaparlelya rachana talhalya pahijet.
ifneck (,)
yaa makefilesathi jee. aine. yuu. mekchi aavashyakta asate.
antim
karyakram = phoo
c _ files = $(wildcard *.qa)
oo. bii. jeey. ess.: = $(patsubst%.see,%.oo, $(see-fayali))
see. see. = see. see.
zende =-bhint-padentic
ell. dii. flags =
ldlibs =-lm
sarvah $(karyakram)
$(karyakram):$varr avalambun (oo. bii. jeey. ess.)
 $(cc) $(cflags) $(objs) $(ldflags)-o $(program) $(ldlibs)
avalamboonahavalambun
.avalambunah CMD = gCC-mm-mf avalambun $(vaar); manjar avalambun ".avalambun;
.avalambunah
 @echo "avalambitva nirman karane..."
 @$(forach vaar, $(c _ files), $(cmd))
 @rm-eff avalambun aahe
-samavisht qaraa.avalambun
%.oh%.see.
 $(cc) $(cflags)-c $<-o $@
%:%.oo.
 $(cc) $(cflags)-o $@ $<
swachchh karah
 aar. emm.-eff.$varr avalambun (oo. bii. jeey. ess.)
.khotyah swachchh avalamb
avalambitva magova.
makefilemadhe avalamban asate aanee visarleli kinwa atirikt asaleli file vaparkartyala lagech spasht honar nahee aanee parinami tayar kelelya softwaremadhye sookshm bugg houu shakatat jeey pakadane katheen aahe. hii samasya talhanyasathi aanee strotatil avalambitva aanee banavat files samanvayit thevanyasathi vividh paddhati vaparlya jaau shakatat. eka marg mhanje avalambitvatil badalancha magova thevanyasathi sankalak vaparane.eae.jee. jee. see. see. strot sanketache sthirpane vishleshan karoo shakate aanee swichcha vapar karoon dilelya filesathi niyam aapoaap tayar karoo shakate. dusra drushtikon makefile kinwa truteey-paksh sadhane asateel jee avalambitatesah makefile tayar kartil (udaa.jee. jee. aine. yuu. prakalpadvare svayanchalit sadhan sakhali tayar karane, heey svayamchalitapane karata yete). 
dusra marg mhanje see. emm. keey., messon ii. sarkhya meta-billed sadhanancha vapar karane.

