Si જ્યારે અમુક ફાઇલોને અપડેટ કરવામાં આવે ત્યારે કાર્ય ચલાવવા અથવા અપડેટ કરવા માંગો છો, મેક યુટિલિટી ઉપયોગમાં આવી શકે છે. મેક યુટિલિટીને ફાઇલ, મેકફાઇલની આવશ્યકતા હોય છે, જે એક્ઝિક્યુટ કરવા માટેના કાર્યોના સેટને વ્યાખ્યાયિત કરે છે.
આ નામ તમારામાંના ઘણાને પરિચિત લાગશે કારણ કે તમે સ્રોત કોડમાંથી કોઈ પ્રોગ્રામ કમ્પાઇલ કરવા માટે મેકનો ઉપયોગ કર્યો હશે. મોટા ભાગના ખુલ્લા સ્રોત પ્રોજેક્ટ્સ અંતિમ એક્ઝેક્યુટેબલ બાઈનરીને કમ્પાઇલ કરવા માટે મેકનો ઉપયોગ કરે છે, જે મેક ઇન્સ્ટોલની મદદથી ઇન્સ્ટોલ થઈ શકે છે.
આ પ્રસંગે ચાલો સમજીએ કે લિનક્સમાં આ પ્રકારની ફાઇલો કેવી રીતે કાર્ય કરે છે.
એક મેકફાઇલ ફાઇલ તે મૂળભૂત રીતે ચાર મૂળભૂત પ્રકારના વિધાનોમાં અલગ પડે છે:
- ટિપ્પણીઓ
- ચલો
- સ્પષ્ટ નિયમો.
- ગર્ભિત નિયમો.
સ્પષ્ટ નિયમો જણાવે છે કે કઈ ફાઇલો અન્ય ફાઇલો પર આધારિત છે, સાથે સાથે કોઈ ચોક્કસ ફાઇલને કમ્પાઇલ કરવા માટેના આદેશો.
જ્યારે ગર્ભિત લોકો સ્પષ્ટ લોકો સમાન હોય છે, પરંતુ તફાવત સાથે તેઓ ચલાવવાના આદેશો સૂચવે છે, પરંતુ કયા એક્ઝેક્યુટ ચલાવવાના છે તે નિર્ધારિત કરવા માટે ફાઇલ એક્સ્ટેંશનનો ઉપયોગ કરે છે.
આ ઉદાહરણમાં આપણે આ છેલ્લા બેનો ઉપયોગ કરીશું નહીં, આપણે ફક્ત ટર્મિનલમાં ક્લાસિક "હેલો વર્લ્ડ" છાપવાનું શરૂ કરીશું.
આ માટે અમે તમને જોઈતા નામ સાથે ખાલી ડિરેક્ટરી બનાવીશું.
આ કિસ્સામાં ચાલો તેને "ઉદાહરણ બનાવો" કહીએ. અને આની અંદર અમે નીચેની સામગ્રી સાથે મેકફાઇલ બનાવવા જઈ રહ્યા છીએ:
#este es un comentario, todo lo que este dentro de esta línea simplemente es ignorado
esta_es_una_variable:
echo "Hola Mundo"
હવે ડિરેક્ટરીમાં મેક ટાઇપ કરીને ફાઇલ ચલાવો, આઉટપુટ હશે:
make
echo "Hola Mundo"
Hola Mundo
જેમ તમે જોઈ શકો છો કે મેકફાઇલ ક્યારે ચાલે છે, આદેશ "હેલો વર્લ્ડ" પ્રદર્શિત થાય છે, તે પછી વાસ્તવિક આદેશનું આઉટપુટ આવે છે. આપણે ઘણી વાર એવું ઇચ્છતા નથી. જ્યારે તમે બનાવટ ચલાવો ત્યારે આ આઉટપુટને દબાવવા માટે, ઇકો પહેલાં ફક્ત "@" ઉમેરો:
આનો વ્યવહારુ ઉદાહરણ છે:
#este es un comentario, todo lo que este dentro de esta línea simplemente es ignorado
esta_es_una_variable:
@echo "Hola Mundo"
હવે અમે ફરીથી મેકફાઇલ ચલાવવા આગળ વધી શકીએ છીએ. આઉટપુટ ફક્ત આ બતાવવું જોઈએ:
make
Hola Mundo
આ ખૂબ મૂળભૂત છે. પરંતુ જેમ તમે જાણો છો, મેકફાઇલ્સમાં ઘણી બધી વસ્તુઓ હોય છે, જેમાંથી તે અનુસરણોને અનુસરતા હોય છે.
અમે આ ફાઇલમાં કેટલાક સરળ સિક્વન્સ ઉમેરી શકીએ છીએ.
શું આપણે નીચે મુજબ ફાઈલમાં ફેરફાર કરવા જઈ રહ્યા છીએ.
#este es un comentario, todo lo que este dentro de esta línea simplemente es ignorado
esta_es_una_variable:
@echo "Hola Mundo"
crear_un_archivo_nuevo:
@ echo "Estoy creando un archivo.txt ..."
touch archivo.txt
જ્યારે મેકફાઇલને ફરીથી ચલાવવું, આ ફક્ત પ્રથમ ઉદ્દેશને અમલમાં મૂકશે. આ કારણ છે કે મેકફાઇલમાં ફક્ત પ્રથમ લક્ષ્ય એ ડિફોલ્ટ લક્ષ્ય છે.
ક્રમમાં ચલાવવા માટે તેને "બધા" સાથે ફાઇલમાં દર્શાવવું જરૂરી છે. અન્ય લક્ષ્યોને બોલાવવાની જવાબદારી "ત્યાં" છે.
all: esta_es_una_variable crear_un_archivo_nuevo
#este es un comentario, todo lo que este dentro de esta línea simplemente es ignorado
esta_es_una_variable:
@echo "Hola Mundo"
crear_un_archivo_nuevo:
@ echo "Estoy creando un archivo.txt ..."
touch archivo.txt
તમે ફરીથી મેક એક્ઝેક્યુટ કરવા માટે આગળ વધી શકો છો અને તમે જોશો કે ડિરેક્ટરીમાં એક ફાઇલ કહેવાય છે "ફાઇલ.ટેક્સ્ટ".
એ જ રીતે મેકફાઇલ ફાઇલની અંદર કોઈ લક્ષ્યને અમલમાં મૂકવા માટે શક્ય છે, આ સામાન્ય રીતે વ્યાપકપણે ઉપયોગમાં લેવાય છે.
આપણે આપણી ફાઇલમાં ફેરફાર કરવા જઈ રહ્યા છીએ અને અંતે અમે નીચે આપેલા ઉમેરવા જઈશું:
clean:
@ echo "Voy a eliminar el archivo txt creado”
rm archivo*.txt
તમે ફરીથી મેક ચલાવી શકો છો અને તે ટેક્સ્ટ ફાઇલને ફરીથી બનાવશે. તમે જોશો, તે પાછલા સમયની જેમ જ કરશે. પરંતુ હવે અમે લક્ષ્યને અમલમાં મૂકવા જઈ રહ્યા છીએ જે મેકફાઇલ ફાઇલની અંદર છે.
અમે આ સાથે કરીએ છીએ:
make clean
આની મદદથી આપણે ફાઇલો બનાવવા વિશે કંઈક મૂળભૂત શીખી શકીએ છીએ અને જો આપણે કેટલીક ચીજોને સ્વચાલિત કરવા માંગતા હોવ તો તે કેવી રીતે ઉપયોગી થઈ શકે.
સ્વાભાવિક છે કે તમે એક મોટી અને વધુ જટિલ ફાઇલ બનાવી શકો છો, પરંતુ આ newbies (ફક્ત મારામાં શામેલ છે) માટેનું એક માત્ર ઉદાહરણ છે, જે આ કેવી રીતે કાર્ય કરે છે તે જાણવા માટે મેળવવામાં આવે છે.
ખૂબ જ રસપ્રદ લેખ. એક પ્રશ્ન ... જેને તમે "ચલો" કહો છો તે કાર્યો અથવા પદ્ધતિઓ નહીં હોય?
હકીકતમાં, હા મારા મિત્ર, કરેક્શન માટે આભાર.
ચીર્સ! 🙂
ઉત્તમ, હું આશા રાખું છું કે તમે ખોદશો.
સારું, ન તો એક વસ્તુ અથવા બીજી https://www.gnu.org/software/make/manual/make.html, "લક્ષ્યો" છે
નિયમો
આશા છે કે તેઓ "સર્વવ્યાપક અને પ્રારંભિક", લિનક્સના દૈનિક દોડનારી આ પ્રકારની વાતો સમજાવવાનું ચાલુ રાખે છે, જેને તે "ફાયદા અને "પરેશન" કેવી રીતે ઉપદેશ કરવામાં આવે છે તે જ ઉત્સાહ સાથે કોઈ સમજાતું નથી.