है तो मुझे यह सुनिश्चित करने की आवश्यकता है कि यदि मैं एक विशिष्ट चर के लिए क्रॉस-कंपाइलिंग कर रहा हूं जो एक शैल चर सेट है। यदि चर सेट नहीं किया गया है तो एक संदेश प्रदर्शित करना चाहिए और फिर बाहर निकलना चाहिए।एक मेक फ़ाइल से बाहर निकलने पर यदि दो शैल चर की स्थिति एक निश्चित स्थिति
$> echo $CROSS_COMPILE
whatever
$>
और $ VARIABLE परिभाषित नहीं है:
.PHONY: checksource
all: checksource default
checksource:
$(if $(and $(ifeq ($(CROSS_COMPILE), whatever)), $(ifeq ($(VARIABLE),))), \
($(shell echo "Error! VARIABLE not defined!") \
$(shell exit 2)))
हैं $CROSS_COMPILE
जो कुछ भी करने के लिए सेट है:
$> echo $VARIABLE
$>
यह करता
मैं अपने Makefile में निम्नलिखित नियम है मेक से बाहर निकलें और डिफ़ॉल्ट लक्ष्य बनाया गया है। ठीक है, मुझे पता है कि मैं इसे करने के लिए नेस्टेड ifeq
का उपयोग कर सकता हूं लेकिन मैं इसे सुंदर बनाना चाहता हूं (और मेकफ़ाइल के बारे में कुछ और सीखना चाहता हूं)।