मेरे पास मेरे अनुप्रयोगों में मुख्य निर्देशिका में "lib" निर्देशिका है, जिसमें उपनिर्देशिका की मनमानी संख्या है, प्रत्येक में अपना स्वयं का मेकफ़ाइल है।वाइल्डकार्ड उपनिर्देशिका लक्ष्य
मैं मुख्य निर्देशिका में एक मेकफ़ाइल रखना चाहता हूं, जो प्रत्येक उपनिर्देशिका के मेकफ़ाइल को कॉल करता है। मुझे पता है कि अगर मैं मैन्युअल रूप से subdirs सूचीबद्ध करता हूं, तो यह संभव है, लेकिन मैं इसे स्वचालित रूप से करना चाहता हूं।
मैं निम्नलिखित की तरह कुछ सोच रहा था, लेकिन यह स्पष्ट रूप से काम नहीं करता है। ध्यान दें कि मेरे पास स्वच्छ, परीक्षण, आदि लक्ष्य भी हैं, इसलिए% शायद एक अच्छा विचार नहीं है।
LIBS=lib/*
all: $(LIBS)
%:
(cd [email protected]; $(MAKE))
किसी भी मदद की सराहना की जाती है!
वाह, धन्यवाद। एक जादू की तरह काम करता है! – Zed
आपने '$ (clean_LIBS)' को नकली के रूप में क्यों परिभाषित नहीं किया है? जैसे '.PHONY: $ (LIBS) $ (clean_LIBS)', तो मुझे लगता है कि आपको 'बल' की आवश्यकता नहीं है। –
@dma_k: आप एक उत्कृष्ट बिंदु बनाते हैं। मैंने आपके सुझाव का परीक्षण नहीं किया है, लेकिन आपका तर्क मेरे लिए सही लगता है। वास्तव में, यह बहुत कुछ लगता है कि जीएनयू मैनुअल क्या सुझाव दे रहा है (subdirs पर बिट देखें): http://www.gnu.org/software/make/manual/make.html#Phony- लक्ष्य – mrkj