2009-07-03 33 views
48

उदाहरण के लिए परीक्षण द्वारा एक Makefile चर की स्थापना की सशर्त कैसे करें: मैं चाहता हूँ:अगर एक फ़ाइल मौजूद

अगर file1 मौजूद है:

CLEAN_SRC = *.h file3 
बाकी

CLEAN_SRC = 

उत्तर

65

तो file1 करता है मौजूद नहीं है तो $(wildcard file1) एक खाली स्ट्रिंग का मूल्यांकन करेगा।

ifeq ($(wildcard file1),) 
    CLEAN_SRC = 
else 
    CLEAN_SRC = *.h file3 
endif 
+2

इंडेंटेशन और टैब/स्पेस वर्णों के बारे में सावधान रहें। जैसे CLEAN_SRC को एक टैब चार द्वारा अलग करने की आवश्यकता है अन्यथा यह 'कोई विभाजक' त्रुटि फेंक देगा। –

+0

http://www.gnu.org/software/make/manual/html_node/Wildcard-Function.html –

+2

@ArunM: मुझे नहीं लगता कि यह टैब/स्पेस वर्णों के बारे में सच है। केवल * नियम परिभाषाओं * टैब इंडेंटेशन की आवश्यकता है। मेकफ़ाइल के अन्य हिस्सों को रिक्त स्थान से इंडेंट किया जा सकता है, या बिल्कुल नहीं - वहां परवाह नहीं है। –

संबंधित मुद्दे