से एक बैश स्क्रिप्ट चला रहा है मेरे पास एक मेकफ़ाइल है जिसमें से मैं इमारत के दूसरे हिस्से को करने के लिए एक और बाहरी बैश स्क्रिप्ट कॉल करना चाहता हूं। मैं यह करने के बारे में सबसे अच्छा कैसे जाना होगा।एक मेक फ़ाइल
उत्तर
बस एक makefile से किसी भी अन्य आदेश बुला की तरह:
target: prerequisites
shell_script arg1 arg2 arg3
अपने अधिक विवरण के बारे में:
.PHONY: do_script
do_script:
shell_script arg1 arg2 arg3
prerequisites: do_script
target: prerequisites
makefile शासन में कार्रवाई में से प्रत्येक एक आदेश है कि एक में मार डाला हो जाएगा subshell। आपको यह सुनिश्चित करने की ज़रूरत है कि प्रत्येक आदेश स्वतंत्र है, क्योंकि प्रत्येक एक अलग सबहेल के अंदर चलाया जाएगा।
इस कारण से, आप अक्सर देखेंगे पंक्ति विराम भाग निकले जब लेखक एक ही subshell में चलाने के लिए कई आदेशों चाहता है:
targetfoo:
command_the_first foo bar baz
command_the_second wibble wobble warble
command_the_third which is rather too long \
to fit on a single line so \
intervening line breaks are escaped
command_the_fourth spam eggs beans
शायद "सही" जिस तरह से जवाब पहले से ही प्रदान की जाती है जैसे कि यह क्या करने के लिए , लेकिन मैं इस सवाल पर आया क्योंकि मैं चाहता था कि मेरी मेकफ़ाइल एक स्क्रिप्ट चलाने के लिए लिखा जो मैंने एक हेडर फ़ाइल जेनरेट करने के लिए लिखा था जो सॉफ़्टवेयर के पूरे पैकेज के लिए संस्करण प्रदान करेगा। मेरे पास इस पैकेज में काफी लक्ष्य हैं, और उन सभी के लिए एक नई नई शर्त नहीं जोड़ना चाहते थे। मेरी makefile की शुरुआत की दिशा में यह लाना मुझे
$(shell ./genVer.sh)
जो बताता है बस एक शेल कमांड को चलाने के लिए बनाने के लिए काम किया। ./genVer.sh
पथ (मेकफ़ाइल के समान निर्देशिका) और चलाने के लिए मेरी स्क्रिप्ट का नाम है। यह कोई फर्क नहीं पड़ता कि मैं कौन सा लक्ष्य निर्दिष्ट करता हूं (clean
सहित, जो नकारात्मक है, लेकिन आखिरकार मेरे लिए एक बड़ा सौदा नहीं है)।
- 1. जीएनयू मेक। एक मेकफ़ाइल
- 2. मेक जावास्क्रिप्ट फ़ाइल संस्करण के लिए न्यूनतम
- 3. मेक फ़ाइल गूंज प्रदर्शित "$ PATH" स्ट्रिंग
- 4. एक मेक फ़ाइल में संकलन ध्वज-जी कैसे जोड़ें?
- 5. मेक नक्शा() वापसी एक शब्दकोश
- 6. मेक-जे
- 7. मेक जीसीसी डिबग जानकारी
- 8. मेक चौड़ाई आधारित बराबर व्यापक पर एक
- 9. मेक फ़ाइल में ओएस का पता कैसे लगाया जाए?
- 10. मेक ScrollViewer WPF
- 11. जीएनयू मेक: $ (eval)
- 12. मेक "डिफ़ॉल्ट" पाठ XAML
- 13. मेक-जे रैम सीमा
- 14. एक मेक फ़ाइल से बाहर निकलने पर यदि दो शैल चर की स्थिति एक निश्चित स्थिति
- 15. रिकर्सिव मेक - दोस्त या दुश्मन?
- 16. उपनिर्देशिका में रिकर्सिव मेक
- 17. मेक: नियम कॉल नियम
- 18. प्रोग्राम "मेक" पाथ
- 19. मेक की लोकप्रियता बनाम विकल्प
- 20. मेक आउटपुट, ब्रैकेट्स में संख्या
- 21. क्या विंडोज़ पर मेक के बराबर है?
- 22. मेक प्रकार के उदाहरणों गैर संग्रहणीय
- 23. मेक "scrollLeft,"/"scrollTop" परिवर्तन पुस्तक घटना श्रोता
- 24. बीएसडी मेक और जीएनयू संगत मेकफ़ाइल
- 25. पता लगाना (गैर-) जीएनयू जब कोई 'मेक'
- 26. मेक वेब एपीआई serialize शब्दकोश विशेषता
- 27. वाफ (बिल्ड टूल्स): फोनी लक्ष्य जैसे मेक?
- 28. मेक .git निर्देशिका वेब पहुंच योग्य
- 29. लिंकर स्क्रिप्ट में मेक या शैल वैरिएबल
- 30. एक भी cpp फ़ाइल
लेकिन मुझे पूर्व शर्त –
@ मैथ्यू से पहले स्क्रिप्ट चलाने की आवश्यकता है, तो आपकी मेकफ़ाइल गलत तरीके से स्थापित की गई है। नया '.PHONY' लक्ष्य बनाएं कि आपकी पूर्वापेक्षाएँ उस पर निर्भर करती हैं, और उस लक्ष्य में स्क्रिप्ट चलाती हैं। –
आपके मामले के लिए और अधिक के साथ संपादित करें। –