मैं अपने makefile अपने मशीन और पोस्ट के बीच में कहीं ठीक से प्रदर्शित किया गया लगता है, लेकिन उन्हें आसानी से ठीक मुझे लगता है कि काम करेगा:
all: $(SOURCES)
कि (शायद) समस्या का समाधान और त्रुटि जाना कर देगा दूर - अगर आप सब चाहते हैं तो आप पढ़ना बंद कर सकते हैं। लेकिन इस मेकफ़ाइल के साथ अभी भी कुछ गलत हैं, इसलिए हम कुछ और सुधार कर सकते हैं।
सबसे पहले, एक छोटे से समायोजन यह मेल मैं क्या लगता है कि आपके makefile वास्तव में कहते हैं बनाने के लिए:
SOURCES = server.c
TARGET = Server
CC = gcc
all: $(SOURCES) $(TARGET)
$(CC) $(SOURCES) -o $(TARGET)
clean:
rm -rf $(TARGET)
पहली तीन पंक्तियों और clean
नियम ठीक हो, हम उन पर ध्यान नहीं देंगे। अब हम TARGET
अपने स्वयं के नियम देने के लिए और आवश्यक शर्तें सीधा:
all: $(TARGET)
$(TARGET): $(SOURCES)
$(CC) $(SOURCES) -o $(TARGET)
अब हम all
जाली बनाने (क्योंकि यह वास्तव में एक फ़ाइल "सभी" कहा जाता है नहीं है), और TARGET
नियम बनाने के लिए स्वत: चर परिचय और अधिक मजबूत और कम अनावश्यक:
.PHONY: all
all: $(TARGET)
$(TARGET): $(SOURCES)
$(CC) $< -o [email protected]
आपके codebase और जटिल हो जाता है, तो अधिक जानने के लिए है, लेकिन वह अब के लिए प्रयास करेंगे।
अपने makefile वास्तव में ऊपर की तरह लग रही है? यदि नहीं, तो कृपया दो मैच तक संपादित करें। यदि ऐसा होता है, तो मेकफ़ाइल सिंटैक्स पर पढ़ें। –
या यह मेरा मेकफ़ाइल है। यह मुझे उपरोक्त त्रुटि देता है। –