Итак, я написал программу для вычисления шифрования Цезаря, но я думаю, что это не имеет большого значения - какая материя заключается в том, что когда я пытаюсь сделать make
, компилятор или кто проверяет синтаксис моего make-файла, это ошибка говорит:makefile делает странную ошибку
make: *** Нет правила, чтобы цель была «чистой», необходима «PHONY». Стоп.
В моем каталоге у меня есть 5 файлов:
main.c
ceasar.c
ceasar.h
parser.c
parser.h
и Makefile выглядит следующим образом:
PHONY : all clean.
CFLAGS = -c -g -Wall
CXXFLAGS = -o
CC = gcc
OBJECTS = main.o ceasar.o parser.o
EXTRA_SRCS = ceasear.h parser.h
all : ex1
ex1 : $(objects)
$(CC) $(CXXFLAGS) ex1 $(objects)
%.o : %.c $(wildcard $(EXTRA_SRCS))
$(CC) $(CFLAGS) $<
clean:
rm *.o
Makefile, следует очистить объекты файлов при вводе make clean
и линии $(wildcard $(EXTRA_SRCS))
должны проверяет, имеет ли файл c файл заголовка (парсер и цезер, а не основной). Я использую Ubuntu 15.10 и, пожалуйста, помогите мне :)
'PHONY: all clean.' удалить период после очистки (и должен быть период * до * фальшивый:' .PHONY') – joop