में कोई फ़ाइल मौजूद है या नहीं, यह जांचने के लिए कि मेरे पास एक एकल DLL (प्लगइन सिस्टम के लिए) संकलित करने के लिए मेकफ़ाइल टेम्पलेट है। उपयोगकर्ता की makefile इस तरह दिखता है:मेकफ़ाइल
EXTRA_SRCS=file1 file2
include makefile.in
makefile.in
मेरे पास में:
plugin.dll: plugin.os $(patsubst %,%.os,$(EXTRA_SRCS))
कहाँ plugin.os
मुख्य सी ++ फ़ाइल है संकलित की। Btw, फ़ाइलों के अंत .os
(gcc
साथ अर्थात -fpic
विकल्प का उपयोग) वस्तु साझा लाइब्रेरी के लिए संकलित फ़ाइलें हैं
अब, समस्या यह है कि अतिरिक्त स्रोतों शायद (लेकिन जरूरी नहीं) फ़ाइलों शीर्षक हो जाएगा है। आदर्श रूप में मैं उन्हें लक्ष्य plugin.os
और file.cpp
के लिए निर्भरता के रूप में जोड़ना चाहता हूं, लेकिन केवल तभी मौजूद हैं।
विधि को विंडोज़ और लिनक्स दोनों के लिए काम करना चाहिए, या कम से कम प्रत्येक के लिए अनुकूल होना चाहिए। हालांकि, मैं केवल बनाने के जीएनयू संस्करण का उपयोग करता हूं।
$(wildcard *.h)
संपादित करें:
कि नहीं मैं क्या चाहते हैं ... मैं ज फ़ाइल की एक विशिष्ट सूची के लिए ... – PierreBdR
ठीक है का परीक्षण करने के लिए है, आप वाइल्डकार्ड का उपयोग करने की जरूरत नहीं। $ का उपयोग करें (वाइल्डकार्ड $ (HEADER_FILES)) – JesperE