મેક - લિનક્સ કમાન્ડ - યુનિક્સ કમાન્ડ

બનાવવા - જીએનયુ પ્રોગ્રામના જૂથોને જાળવી રાખવા ઉપયોગીતા આપે છે

સારાંશ

બનાવવા [ -f મેકફાઇલ ] [વિકલ્પ] ... લક્ષ્ય ...

ચેતવણી

આ પાનું જીએનયુ મેકના દસ્તાવેજીકરણના એક અર્ક છે . તે ફક્ત પ્રસંગોપાત અપડેટ કરવામાં આવે છે કારણ કે જીએનયુ પ્રોજેક્ટ nroff નો ઉપયોગ કરતું નથી. સંપૂર્ણ, વર્તમાન દસ્તાવેજો માટે, ઇન્ફોફાઇલ make.info નો સંદર્ભ લો જે Texinfo સ્રોત ફાઇલ make.texinfo માંથી બનાવેલ છે.

વર્ણન

સર્વોચ્ચ પ્રોગ્રામના ટુકડાઓ પુનઃકમ્પાઈલ કરવાની જરૂર છે અને તેમને ફરીથી કમ્પાઇલ કરવા માટે આદેશોનો અમલ કરવાની જરૂર છે. જાતે મેકના જીએનયુ અમલીકરણનું વર્ણન કરે છે, જે રિચાર્ડ સ્ટોલમેન અને રોલેન્ડ મેકગ્રાએ લખ્યું હતું. અમારા ઉદાહરણો C કાર્યક્રમો બતાવે છે કારણ કે તે સૌથી સામાન્ય છે, પરંતુ તમે કોઈપણ પ્રોગ્રામિંગ લેંગ્વેજ સાથે ઉપયોગ કરી શકો છો, જેની કમ્પાઇલર શેલ કમાન્ડ સાથે ચલાવી શકાય છે. વાસ્તવમાં, પ્રોગ્રામ્સ માટે મર્યાદિત નથી. તમે કોઈ પણ કાર્યનું વર્ણન કરવા માટે તેનો ઉપયોગ કરી શકો છો જ્યાં અન્ય લોકો જ્યારે અન્ય લોકો બદલાય ત્યારે કેટલીક ફાઇલોને આપમેળે અપડેટ થવી આવશ્યક છે.

બનાવવા ઉપયોગ કરવા માટે તૈયાર કરવા માટે , તમારે makefile નામની એક ફાઇલ લખવી જોઈએ જે તમારા પ્રોગ્રામમાં ફાઇલો વચ્ચેના સંબંધો વર્ણવે છે, અને પ્રત્યેક ફાઇલને અપડેટ કરવા માટેની આદેશો જણાવે છે. પ્રોગ્રામમાં, સામાન્યપણે એક્ઝેક્યુટેબલ ફાઇલ ઑબ્જેક્ટ ફાઇલોમાંથી અપડેટ થાય છે, જે સ્રોત ફાઇલો સંકલન દ્વારા બદલામાં છે.

એક યોગ્ય makefile અસ્તિત્વમાં જાય તે પછી, દરેક વખતે તમે કેટલીક સ્રોત ફાઈલો, આ સરળ શેલ આદેશ બદલો છો:

બનાવવા

બધી જરૂરી પુનઃરચનાઓ કરવા માટે પૂરતા છે. મેક પ્રોગ્રામ મેકફાઇલ ડેટા બેઝ અને ફાઈલોના છેલ્લા-સુધારા સમયનો ઉપયોગ કરે છે, જે નક્કી કરે છે કે કઈ ફાઇલોને અપડેટ કરવાની જરૂર છે. તે દરેક ફાઈલો માટે, તે ડેટાબેઝમાં રેકોર્ડ કરેલા આદેશોને અદા કરે છે.

એક અથવા વધુ લક્ષ્ય નામોને અપડેટ કરવા માટે makefile માં આદેશો ચલાવો, જ્યાં નામ સામાન્ય રીતે એક પ્રોગ્રામ છે જો કોઈ -f વિકલ્પ હાજર ન હોય, તો તે ક્રમમાં મેકફાઇલ્સ જીએનયુમેકફાઇલ , મેકફાઇલ અને મેકફાઇલને જોશે .

સામાન્ય રીતે તમારે તમારા makefile અથવા makefile અથવા Makefile કૉલ કરવો જોઈએ (અમે મેકફીલેને ભલામણ કરીએ છીએ કારણ કે તે નિર્દેશિકા સૂચિની શરૂઆતની નજીક જ દેખાય છે, જેમ કે README જેવી અન્ય મહત્વની ફાઇલોની નજીક). પ્રથમ ચેક કરાયેલું નામ, GNUmakefile , સૌથી વધુ makefiles માટે આગ્રહણીય નથી. જો તમે makefile કે જે GNU બનાવવા માટે વિશિષ્ટ છે, તો તમારે આ નામનો ઉપયોગ કરવો જોઈએ, અને મેકની અન્ય આવૃત્તિઓ દ્વારા સમજી શકાશે નહીં . જો makefile `- 'છે, તો પ્રમાણભૂત ઇનપુટ વાંચવામાં આવે છે.

લક્ષ્યાંકોને લક્ષ્ય બનાવવું જો તે પૂર્વશરત ફાઇલો પર આધાર રાખે છે કે જે સુધારવામાં આવ્યા છે કારણ કે લક્ષ્ય છેલ્લે સુધારાયું હતું, અથવા જો લક્ષ્ય અસ્તિત્વમાં નથી.

વિકલ્પો

-બી

-એમ

આ વિકલ્પો મેકની અન્ય આવૃત્તિઓ સાથે સુસંગતતા માટે અવગણવામાં આવે છે.

-સી ડીયર

મેકફાઇલ્સ વાંચતા અથવા બીજું કંઇ કરવાનું પહેલાં ડિરેક્ટરી ડિયરમાં બદલો. જો મલ્ટિપલ- સી વિકલ્પો સ્પષ્ટ થયેલ હોય, તો દરેકને અગાઉના એકની સરખામણીમાં અર્થઘટન કરવામાં આવે છે: -C / -C વગેરે -C / etc ની સમકક્ષ છે આ ખાસ કરીને બનાવવાના ફરી યાદ આવવાના આમંત્રણો સાથે ઉપયોગમાં લેવાય છે.

-ડી

સામાન્ય પ્રોસેસિંગ ઉપરાંત ડીબગિંગ માહિતી છાપો. ડિબગીંગની માહિતી કહે છે કે જે ફાઇલોને રિમેક કરવા માટે ગણવામાં આવે છે, જે ફાઈલ-ટાઇલ્સની તુલના કરવામાં આવી રહી છે અને તેના પરિણામો સાથે, જે ફાઇલોને વાસ્તવમાં ફરીથી બનાવવામાં આવવાની જરૂર છે, જે અનિશ્ચિત નિયમો ગણવામાં આવે છે અને જે લાગુ થાય છે --- કઈ રીતે નક્કી કરે છે તે વિશે રસપ્રદ શુ કરવુ.

-e

Makefiles માંથી ચલો ઉપર પર્યાવરણ પ્રાધાન્ય માંથી લેવામાં ચલો આપો.

-f ફાઈલ

મેકફાઇલ તરીકે ફાઇલનો ઉપયોગ કરો

-i

ફાઈલો રિમેક કરવા માટે ચલાવવામાં આદેશો બધી ભૂલો અવગણો.

-આઇ ડીર

સમાવવામાં આવેલ મેકફાઇલ્સ શોધવા માટે નિર્દેશિકા નિર્દેશિકા નિર્દિષ્ટ કરે છે. જો અનેક- વિકલ્પોનો ઉપયોગ અનેક ડિરેક્ટરીઓનો ઉપયોગ કરવા માટે કરવામાં આવે છે, તો ડિરેક્ટરીઓ સ્પષ્ટ થયેલ ક્રમમાં શોધી કાઢવામાં આવે છે. અન્ય ફ્લેગ બનાવવા માટેની દલીલોથી વિપરીત, -I ફ્લેગ સાથે આપવામાં આવેલી ડિરેક્ટરીઓ ધ્વજ પછી સીધી આવી શકે છે: -આઇ ડીયરની મંજૂરી છે, એ જ પ્રમાણે -ઈ ડીર. આ વાક્યરચના C પ્રિપ્રોસેસરનાં- I ફ્લેગ સાથે સુસંગતતા માટે માન્ય છે.

-જ નોકરીઓ

એકસાથે ચલાવવા માટે નોકરીઓ (આદેશો) ની સંખ્યા નિર્દિષ્ટ કરે છે જો ત્યાં એક કરતાં વધુ વિકલ્પ છે, તો છેલ્લા એક અસરકારક છે. જો -જ વિકલ્પ દલીલ વગર આપવામાં આવે છે, તો નોકરીની સંખ્યાને મર્યાદિત નહીં કરવામાં આવશે જે એકસાથે ચલાવી શકે છે.

-ક

ભૂલ પછી શક્ય તેટલું આગળ વધો જ્યારે નિષ્ફળ થયેલું લક્ષ્ય, અને તેના પર આધાર રાખે છે તે, ફરીથી બનાવી શકાતી નથી, આ લક્ષ્યોની અન્ય નિર્ભરતા પર પ્રક્રિયા થઈ શકે છે.

-એલ

-લોડ

સ્પષ્ટ કરે છે કે જો કોઈ અન્ય નોકરીઓ ચાલતી હોય અને લોડ એવરેજ ઓછામાં ઓછું લોડ (ફ્લોટિંગ-પોઇન્ટ નંબર) હોય તો કોઈ નવી જોબ્સ (કમાન્ડ્સ) શરૂ થવી જોઈએ નહીં. કોઈ દલીલ વગર, અગાઉના લોડ મર્યાદા દૂર કરે છે

-ના

આદેશો છાપો જે ચલાવવામાં આવશે, પરંતુ તેમને ચલાવવા નથી.

-o ફાઇલ

ફાઇલની ફાઈલને ફરીથી બનાવશો નહીં, પછી ભલે તે તેના આધારભૂતપણાઓ કરતાં જૂની હોય, અને ફાઇલના ફેરફારોને કારણે કોઈ પણ રીમેક નહીં કરો . આવશ્યકપણે ફાઇલને ખૂબ જ જૂની તરીકે ગણવામાં આવે છે અને તેના નિયમોને અવગણવામાં આવે છે.

-પી

ડેટાબેઝને છાપો (નિયમો અને ચલ મૂલ્યો) કે જે makefiles વાંચવાથી પરિણમે છે; પછી સામાન્ય તરીકે ચલાવો અથવા અન્યથા સ્પષ્ટ. આ પણ -V સ્વિચ (નીચે જુઓ) દ્વારા અપાયેલ આવૃત્તિ માહિતી છાપે છે. કોઈ પણ ફાઇલોને રિમેક કરવાનો પ્રયાસ કર્યા વગર ડેટા આધારને છાપવા માટે, make -p -f / dev / null નો ઉપયોગ કરો

-ક

`` પ્રશ્ન મોડ '' કોઈપણ આદેશો ચલાવો નહીં, અથવા કંઈપણ છાપો; માત્ર એક એક્ઝિટ સ્ટેટસ પરત કરો જે શૂન્ય છે જો લક્ષિત લક્ષ્યાંકો પહેલાથી જ અદ્યતન છે, અન્યથા બિનઝેરો.

-આર

બિલ્ટ-ઇન ગર્ભિત નિયમોનો ઉપયોગ દૂર કરો પ્રત્યય નિયમો માટે પ્રત્યયોની ડિફૉલ્ટ સૂચિ પણ સાફ કરો.

-s

સાયલન્ટ ઓપરેશન; આદેશો છાપી નહી કારણ કે તેઓ ચલાવવામાં આવે છે.

-એસ

-k વિકલ્પની અસર રદ કરો ફરી યાદ આવવું સિવાય આ ક્યારેય જરૂરી નથી કે જ્યાં -કૅક મેકફ્લ્ગસ દ્વારા બનાવેલા ટોચના-સ્તરથી વારસામાં મળી શકે છે અથવા જો તમે તમારા પર્યાવરણમાં મેકફ્લેગ્સમાં સેટ કરો છો

-ટી

ફાઇલોને ટચ કરો (ખરેખર તેમને બદલ્યા વિના તેને ચિહ્નિત કરો) તેના આદેશો ચલાવવાને બદલે આનો ઉપયોગ કરવાના ભવિષ્યના આમંત્રણને ફસાવવા માટે આદેશો કરવામાં આવ્યાં હતાં તે ડોળ કરવા માટે ઉપયોગમાં લેવાય છે.

-વી

મેક પ્રોગ્રામના વર્ઝન, કૉપિરાઇટ, લેખકોની સૂચિ અને નોટિસ છાપો કે કોઈ વોરંટી નથી.

-ડબ્લ્યુ

બીજી પ્રક્રિયા પહેલા અને પછી કામ કરતી ડિરેક્ટરી ધરાવતી મેસેજ છાપો. ફરી યાદ આવતી કમાન્ડની જટિલ માળામાંથી ભૂલોને ટ્રૅક રાખવા માટે આ ઉપયોગી હોઈ શકે છે.

-W ફાઇલ

ડોળ કરવો કે લક્ષ્ય ફાઇલ ફક્ત સુધારવામાં આવી છે. -n ફ્લેગ સાથે વપરાય છે ત્યારે, તે તમને બતાવે છે કે જો તમે તે ફાઇલમાં ફેરફાર કરવાના છો તો શું થશે. વિના -n , તે લગભગ ચાલતા પહેલા ફાઇલને ટચ કમાન્ડ ચલાવવા જેવું જ છે, સિવાય કે ફેરફારનો સમય ફક્ત મેકની કલ્પનામાં બદલવામાં આવે છે.