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
நீங்கள் மீண்டும் தயாரிப்பதைத் தொடரலாம், கோப்பகத்தின் உள்ளே ஒரு கோப்பு என்று நீங்கள் காண்பீர்கள் "File.txt".
அதே வழியில் makefile கோப்பிற்குள் ஒரு இலக்கை இயக்க முடியும், இது பொதுவாக பரவலாக பயன்படுத்தப்படுகிறது.
நாங்கள் எங்கள் கோப்பை மாற்றப் போகிறோம், கடைசியில் பின்வருவனவற்றைச் சேர்க்கப் போகிறோம்:
clean:
@ echo "Voy a eliminar el archivo txt creado”
rm archivo*.txt
நீங்கள் மீண்டும் தயாரிக்க இயக்கலாம், அது txt கோப்பை மீண்டும் உருவாக்கும். நீங்கள் பார்ப்பது போல், இது முந்தைய நேரத்தைப் போலவே செய்யும். ஆனால் இப்போது நாம் makefile கோப்பிற்குள் இருக்கும் இலக்கை இயக்கப் போகிறோம்.
இதை நாங்கள் செய்கிறோம்:
make clean
இதன் மூலம் கோப்புகளை உருவாக்குவது பற்றியும், சில விஷயங்களை தானியக்கமாக்க விரும்பினால் அவை எவ்வாறு மிகவும் பயனுள்ளதாக இருக்கும் என்பதையும் பற்றி நாம் கற்றுக் கொள்ளலாம்.
வெளிப்படையாக நீங்கள் ஒரு பெரிய மற்றும் மிகவும் சிக்கலான கோப்பை உருவாக்க முடியும், ஆனால் இது எவ்வாறு செயல்படுகிறது என்பதை அறிந்து கொள்ளும் புதியவர்களுக்கு (நான் என்னைச் சேர்த்துக் கொள்கிறேன்) இது ஒரு எடுத்துக்காட்டு.
மிகவும் சுவாரஸ்யமான கட்டுரை. ஒரு கேள்வி ... நீங்கள் "மாறிகள்" என்று அழைப்பது செயல்பாடுகள் அல்லது முறைகள் அல்லவா?
உண்மையில், ஆம் என் நண்பரே, திருத்தம் செய்ததற்கு நன்றி.
சியர்ஸ்! 🙂
சிறந்தது, நீங்கள் தொடர்ந்து தோண்டி எடுப்பீர்கள் என்று நம்புகிறேன்.
சரி, ஒன்று அல்லது மற்றொன்று, https://www.gnu.org/software/make/manual/make.html, "இலக்குகள்"
விதிகள்
லினக்ஸின் அன்றாட இயங்கும் "எங்கும் நிறைந்த மற்றும் அடிப்படை" போன்ற விஷயங்களை அவர்கள் தொடர்ந்து விளக்குகிறார்கள் என்று நம்புகிறோம், அந்த "நன்மைகள் மற்றும் செயல்பாடு" எவ்வாறு பிரசங்கிக்கப்படுகின்றன என்பதைப் போன்ற ஆர்வத்துடன் யாரும் விளக்கவில்லை.