मेकफ़ाइल में make
कमांड को सभी उपनिर्देशिका make
आदेशों (उपनिर्देशिका में मेकफ़ाइल में परिभाषित) में पुनरावर्ती रूप से निष्पादित करने के लिए कैसे आदेश दे सकता हूं?उपनिर्देशिका में रिकर्सिव मेक
उत्तर
- पढ़ें Recursive Use of Make जीएनयू के अध्याय मैनुअल करें।
- पीटर मिलर के Recursive Make Considered Harmful आलेख जानें।
- ...
- लाभ !!!
पी.एस. my answer से एक अलग स्नैपेट को एक अलग अभी तक संबंधित प्रश्न में एक मोटा अनुमान के रूप में उपयोग किया जा सकता है।
@ eldar-abusalimov, आपके द्वारा पोस्ट किया गया पहला लिंक मेकफ़ाइल मानता है उपफोल्डर क्या हैं। यह हमेशा सत्य नहीं होता है, और मुझे लगता है कि @tyranitar क्या जानना चाहता है। उस मामले में, इस तरह के एक समाधान काम कर सकते हैं: (मुझे कुछ समय लगा, लेकिन मैं इसे बहुत जरूरत)
SHELL=/bin/bash
all:
@for a in $$(ls); do \
if [ -d $$a ]; then \
echo "processing folder $$a"; \
$(MAKE) -C $$a; \
fi; \
done;
@echo "Done!"
इसे शुद्ध मेक में हासिल किया जा सकता है: 'सबडिर्स: = $ (वाइल्डकार्ड * /।)'। और फिर 'सबडिर्स' पर फिर से शुरू होकर उप-मेक का आह्वान किया। –
@Eldar Abusalimov: अच्छा लगता है। मुझे दिलचस्पी है, क्या आप थोड़ी अधिक जानकारी दे सकते हैं और नमूना पोस्ट स्निपेट कर सकते हैं? ('Iterating' से आपका क्या मतलब है?) – kebs
मेरा मतलब है कि एक समाधान का उपयोग करना, जिसे मैंने अपने दूसरे उत्तर में प्रस्तावित किया है: http://stackoverflow.com/a/11206700/545027 –
मैं यहां अपने विशेष समाधान प्रस्तुत करेगा। तो
root-dir\
+----subdir1
+----subdir2
...
+----subdirn
, बस इस Makefile जड़-निर्देशिका में कॉपी: मान लीजिए हम अपने स्वयं के makefile के साथ कई उप-निर्देशिका के साथ एक निर्देशिका, उन सभी को है
SUBDIRS = $(shell ls -d */)
all:
for dir in $(SUBDIRS) ; do \
make -C $$dir ; \
done
- 1. रिकर्सिव मेक - दोस्त या दुश्मन?
- 2. स्रोत उपनिर्देशिका
- 3. जीएनयू मेक। एक मेकफ़ाइल
- 4. उपनिर्देशिका
- 5. उपनिर्देशिका
- 6. गिट में चेकआउट उपनिर्देशिका?
- 7. कर सकते हैं .cvsignore रिकर्सिव उपनिर्देशिका में पाए गए पैटर्न को बाहर कर सकते हैं?
- 8. मेक-जे
- 9. मेक आउटपुट, ब्रैकेट्स में संख्या
- 10. सभी उपनिर्देशिका
- 11. एक उपनिर्देशिका
- 12. बैश, उपनिर्देशिका
- 13. एक उपनिर्देशिका
- 14. एक्सएसएलटी उपनिर्देशिका
- 15. उपनिर्देशिका में फेविकॉन सभी सबडोमेन
- 16. cmake: निर्भरता जोड़ने उपनिर्देशिका में
- 17. एफ # में रिकर्सिव ऑब्जेक्ट्स?
- 18. ओकैमल में रिकर्सिव प्रकार?
- 19. रेल में रिकर्सिव मार्ग
- 20. प्रोग्राम "मेक" पाथ
- 21. मेक "डिफ़ॉल्ट" पाठ XAML
- 22. जीएनयू मेक: $ (eval)
- 23. मेक जीसीसी डिबग जानकारी
- 24. मेक: नियम कॉल नियम
- 25. मेक ScrollViewer WPF
- 26. एक मेक फ़ाइल
- 27. मेक-जे रैम सीमा
- 28. लिंकर स्क्रिप्ट में मेक या शैल वैरिएबल
- 29. पीएचपी: लिस्टिंग उपनिर्देशिका
- 30. जब मैं संभवतः उपनिर्देशिका
भी पुन: रिकर्सिव मेक माना जाता है कि हानिकारक: http://evbergen.home.xs4all.nl/nonrecursive-make.html –
@ माली जो पढ़ने योग्य है, निश्चित रूप से! मैंने इस विषय पर बहुत समय पहले भी प्रयोग किया है, एफवाईआई: http://abusalimov.blogspot.ru/2009/12/yet-another-implementation-of-non.html –
@ wil93 प्रस्तावित संपादन के लिए धन्यवाद! मैंने एक और उत्तर के लिए एक लिंक जोड़ा जो आपके जैसा समाधान सुझाता है। –