Tuesday, 15 April 2014

gnu make - Can a makefile Pattern Rule prerequisite be a Pattern Rule? -


मेरे पास यह मेसेफ़ाइल है:

  .फ़ोन: सभी सब: foo.o मेसेफाइल: ; % .inc: इको इंडस्ट्रीज़ स्पर्श $ @% .o: bar.inc इको ओ स्पर्श $ @% .o: FAIL  

मुझे उम्मीद है कि यह पहला % का उपयोग करेगा। नियम, एक शर्त के रूप में bar.inc बनाएँ, और फिर foo.o बनाएँ। इसके बजाय यह अंतिम नियम का उपयोग करता है और मुझे यह मिलता है:

  असफल: विफल: कमांड नहीं मिला: *** [foo.o] त्रुटि 127  
< P> यह ठीक काम करता है यदि मैं % .com से bar.inc बदल या %। O से foo.o < / code>। कहते हैं,

लागू करने के लिए पैटर्न नियम के लिए, इसके लक्ष्य प्रतिमान को फ़ाइल नाम से मेल करना चाहिए और इसके सभी आवश्यक शर्तें (पैटर्न प्रतिस्थापन के बाद) में मौजूद फाइलों को नाम होना चाहिए या किया जा सकता है

क्या पैटर्न नियम %। Inc नहीं किया जा सकता है "बनाया जा सकता है"? मैं जीएनयू बनाओ 3.81 का उपयोग कर रहा हूं।

संबंधित विवरण जो आप याद कर रहे हैं अनुभाग में है।

विशेष रूप से (जोर मेरा):

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

तो यह मुद्दा यह नहीं है कि आपकी शर्त को नहीं बनाया जा सकता बल्कि यह आपके दूसरे नियम "जीत" के बाद भी कोशिश नहीं कर रहा है।

MadScientist यह अतिरिक्त जानकारी और उनके उत्तर में विस्तार के साथ थोड़ा सा।


No comments:

Post a Comment