आपको हार्ड टैब के साथ gcc
और rm
से शुरू होने वाली लाइनों से पहले की आवश्यकता है। नियम बनाने में आदेशों को एक टैब से शुरू करने की आवश्यकता होती है (जब तक वे एक ही पंक्ति पर अर्धविराम का पालन नहीं करते)। परिणाम इस तरह दिखना चाहिए:
PROG = semsearch
all: $(PROG)
%: %.c
gcc -o [email protected] $< -lpthread
clean:
rm $(PROG)
ध्यान दें कि कुछ संपादकों एक कठिन टैब के बजाय रिक्त स्थान की एक दृश्य डालने के लिए विन्यस्त किया जा सकता है। यदि इन पंक्तियों की शुरुआत में रिक्त स्थान हैं तो आपको "लापता विभाजक" त्रुटि भी दिखाई देगी। यदि आपको हार्ड टैब डालने में समस्याएं हैं, तो अर्धविराम विधि का उपयोग करें:
PROG = semsearch
all: $(PROG)
%: %.c ; gcc -o [email protected] $< -lpthread
clean: ; rm $(PROG)
मेकफ़ाइल में इंडेंटेशन वैकल्पिक नहीं है। क्या आपने ठीक वही किया है जैसा आपने पोस्ट किया है या व्हाइटस्पेस मंग हो गया है? – Mat
जैसा मैंने लिखा था, मैंने इसे प्राप्त किया। – user1827257
यह प्रश्न फिर से खोलना चाहिए। यहां का जवाब यह भी दिखाता है कि टैब के बिना मेकफ़ाइल कैसे लिखना है, पूरी तरह से समस्या को बाधित करना। – Jens