मैं अपने बिल्डरूट वातावरण में एक गिट डिपॉजिटरी से एक कस्टम पैकेज जोड़ने की कोशिश कर रहा हूं। पैकेज omake के साथ बनाया गया है और इसकी मूल निर्देशिका में OMakeroot फ़ाइल है।
बिल्डरूट पर्यावरण में, मैं एक कस्टम मेकफ़ाइल को परिभाषित कर सकता हूं जिसे स्वचालित रूप से बीआर द्वारा बुलाया जाता है और यह ओमेक कमांड को कॉल करेगा। समस्या यह है कि इस मेकफ़ाइल वाली निर्देशिका बिल्ड निर्देशिका के समान नहीं है। Buildroot $(D)
वेरिएबल के साथ बिल्ड पथ देता है।
अगर मैं मानक मेकफ़ाइल का उपयोग करता हूं, तो आदेश इस तरह होगा:
$(MAKE) TARGET_CC=$(TARGET_CC) -C $(D) <= -C is used to change directory
इस आदेश के बराबर ओमेक क्या है?
ऐसा कुछ काम नहीं कर रहा है:
omake TARGET_CC=$(TARGET_CC) $(D)/OMakeroot
या
cd $(D)
omake TARGET_CC=$(TARGET_CC)
1 उत्तर
आपके दो प्रयास ऐसे दिखते हैं जैसे वे मेकफ़ाइल में नियम व्यंजन हों, प्रत्येक पंक्ति की शुरुआत में एक टैब के साथ।
आपका दूसरा प्रयास एक समाधान के करीब है, लेकिन इसमें निरंतरता चिह्न का अभाव है - एक बैकस्लैश - पहली पंक्ति के अंत में (एक cd
कमांड वाला), और एक कमांड अनुक्रम विभाजक - ;
या और भी बेहतर &&
- ताकि Make इन दोनों कमांड को एक ही शेल सबप्रोसेस में चला सके, ताकि omake
को प्रभावी रूप से $(D)
वर्तमान डायरेक्टरी के रूप में बुलाया जा सके। सभी को एक साथ रखकर, आपको मिलता है:
cd $(D) && \
omake TARGET_CC=$(TARGET_CC)
हालाँकि, ये दोनों कमांड एक ही लाइन पर रखे जाने के लिए काफी कम हैं। यह भी ध्यान दें कि अग्रणी टैब आपके वेब ब्राउज़र में चार रिक्त स्थान के अनुक्रम के रूप में दिखाई दे सकते हैं, लेकिन उन्हें वास्तव में मेकफ़ाइल में टैब होना चाहिए।
संबंधित सवाल
नए सवाल
buildroot
बिल्डरोट मेकफाइल्स और पैच का एक सेट है जो चमकती के लिए संपूर्ण छवि को क्रॉस-संकलन टूलचैन से पूर्ण एम्बेडेड लिनक्स सिस्टम उत्पन्न करना आसान बनाता है।