मैं अपने बिल्डरूट वातावरण में एक गिट डिपॉजिटरी से एक कस्टम पैकेज जोड़ने की कोशिश कर रहा हूं। पैकेज 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)
0
grorel 28 अगस्त 2020, 12:36

1 उत्तर

सबसे बढ़िया उत्तर

आपके दो प्रयास ऐसे दिखते हैं जैसे वे मेकफ़ाइल में नियम व्यंजन हों, प्रत्येक पंक्ति की शुरुआत में एक टैब के साथ।

आपका दूसरा प्रयास एक समाधान के करीब है, लेकिन इसमें निरंतरता चिह्न का अभाव है - एक बैकस्लैश - पहली पंक्ति के अंत में (एक cd कमांड वाला), और एक कमांड अनुक्रम विभाजक - ; या और भी बेहतर && - ताकि Make इन दोनों कमांड को एक ही शेल सबप्रोसेस में चला सके, ताकि omake को प्रभावी रूप से $(D) वर्तमान डायरेक्टरी के रूप में बुलाया जा सके। सभी को एक साथ रखकर, आपको मिलता है:

    cd $(D) && \
    omake TARGET_CC=$(TARGET_CC)

हालाँकि, ये दोनों कमांड एक ही लाइन पर रखे जाने के लिए काफी कम हैं। यह भी ध्यान दें कि अग्रणी टैब आपके वेब ब्राउज़र में चार रिक्त स्थान के अनुक्रम के रूप में दिखाई दे सकते हैं, लेकिन उन्हें वास्तव में मेकफ़ाइल में टैब होना चाहिए।

1
Mander 28 अगस्त 2020, 18:53