Ответ 1
Я думаю, что ваш make файл исказился где-то между вашей машиной и сообщением, но есть простое исправление, которое, как я думаю, будет работать:
all: $(SOURCES)
Это (возможно) решит проблему и устранит ошибку - если это все, что вам нужно, вы можете прекратить чтение. Но в этом make файле все еще не так, поэтому мы можем сделать некоторые улучшения.
Во-первых, небольшая настройка, чтобы она соответствовала тому, что я думаю, что ваш 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
PHONY (поскольку он действительно не делает файл с именем "все" ) и вводит автоматические переменные, чтобы сделать правило TARGET
более надежным и менее избыточным:
.PHONY: all
all: $(TARGET)
$(TARGET): $(SOURCES)
$(CC) $< -o [email protected]
Там вам больше узнать, будет ли ваша кодовая база сложнее, но пока это будет сделано.