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