आपको हमेशा उस निर्माण प्रणाली को समझने की कोशिश करनी चाहिए जिसका आप उपयोग कर रहे हैं।
यह जरूरी नहीं है कि आपको हाथ से सभी बिल्ड फाइलें बनाने में सक्षम होना चाहिए। महत्वपूर्ण हिस्सा यह समझ रहा है कि आपकी परियोजना के लिए निर्माण प्रणाली क्या कर रही है और छोटी परियोजनाओं को मैन्युअल रूप से संकलित करने की सामान्य क्षमता (जैसा कि "टर्मिनल पर टाइपिंग कमांड")।
मैं सिर्फ यह सोचता हूं कि बनाने (सरल) मेकफाइल्स यह समझने के लिए सबसे आसान कदम है कि क्या हो रहा है, लेकिन आपके पास चीजों को बनाने के तरीके को समझने के अन्य साधन हो सकते हैं।
Makefiles क्यों / कब सीखें
यदि आप केवल विंडोज के लिए प्रोग्रामिंग रखते हैं और किसी और से अपेक्षा नहीं करते हैं कि वह आपके कोड को संकलित करे, तो बेझिझक कोड को आप कैसे पसंद करते हैं।
यदि आप कंपाइलर एग्नॉस्टिक को प्रोग्राम करना चाहते हैं (जैसा कि "दूसरों को यह तय करने दें कि वे किस कंपाइलर या आईडीई का उपयोग करना चाहते हैं"), तो आपको अपने आईडीई को "इससे निपटने" की तुलना में एक और बिल्ड सिस्टम सीखना चाहिए।
यदि आप विभिन्न प्लेटफार्मों के लिए प्रोग्राम करना चाहते हैं, तो आपको निश्चित रूप से एक व्यापक बिल्ड सिस्टम का उपयोग करने की आवश्यकता है।
इसका मतलब यह नहीं है कि आपको यह जानना होगा कि ऑटोजेनरेटेड मेकफाइल्स कैसे काम करते हैं। आपको बस यह जानना होगा कि बिल्ड सिस्टम के लिए इनपुट फाइलें कैसे काम करती हैं। ये कभी-कभी एक समान सिंटैक्स होते हैं।
मुझे व्यक्तिगत रूप से मेकफाइल्स पसंद हैं और कई चीजों के लिए उनका उपयोग करते हैं। केवल संकलन कोड नहीं। मैं हर बड़े पीडीएफ के लिए एक मेकफाइल बनाता हूं जो मैं (लाटेक्स के साथ) बनाता हूं और हर प्रोजेक्ट के लिए मुझे कुछ कार्यों को स्वचालित करने की जरूरत है (भवन, पैकेजिंग, अपलोडिंग, स्रोत रिपॉजिटरी से निर्भरता अपडेट करना, मैनुअल बैकअप को खींचना / धक्का देना)
हालांकि, मैं टर्मिनल पर बहुत काम कर रहा हूं और मैं लिनक्स के साथ काम कर रहा हूं। मैं इसका उपयोग नहीं करता हूं जिसे आप vim (शक्तिशाली पाठ संपादक) और कंसोल टूल के अलावा अन्य आईडीई कहेंगे। यह आपके लिए बहुत भिन्न हो सकता है।
यदि आपने कभी भी "अपडेट" / पैकेज / अपलोड / / a "प्रोजेक्ट" के लिए अलग-अलग रीसॉर्स्ड कमांड चलाने के बारे में शिकायत की है, तो Makefiles लिखना सीखना आपके लिए कुछ सहायक हो सकता है।
यदि आपके पास हर चीज के लिए उपकरण / GUIs / IDEs हैं और उपयोग करते हैं, तो आपको उस ज्ञान से बाहर कुछ भी नहीं मिल सकता है।