Вот мой Makefile:Makefile циклическая зависимость
.PHONY: all homework1
CFLAGS= -g -O0 -Wall -Werror -Wno-unused-function
LDFLAGS= -lm
all : homework1
homework1 : program.tab.o program.lex.o
%.o : %.c
gcc [email protected] -c $(CFLAGS) $<
%.lex.c : %.lex %.tab.h
flex [email protected] $<
%.tab.c %.tab.h : %.y
bison --verbose [email protected] -d $<
Всякий раз, когда я пытаюсь скомпилировать, я получаю предупреждение make: Circular program.lex <- program.lex.o dependency dropped.
я не вижу, как program.lex
зависит от program.lex.o
вообще в Makefile. Я вижу, как дерево зависимостей составляет около 4 слоев, но оно не выглядит круговым.
Как я могу улучшить свой makefile?
Не только ваш вопрос помечен как «домашняя работа» (без каких-либо просьб), но ваш исполняемый файл также называется «домашнее задание». Просто наблюдение! Нет комментариев: D – Rahul
Это домашнее задание. Конечно, домашнее задание состоит в том, чтобы написать файлы flex и bison, а не makefile. Makefile должен быть легкой частью: P – Mike
Makefiles никогда не бывает легким, по моему опыту. – reinierpost