Форматирование пробелов может затруднить ответ. В поле Make пробел критический . Действия должны иметь символ табуляции впереди, чтобы быть опознанным как таковой Make. например,
calcu: y.tab.o lex.yy.o
\t$(CC) -o calcu y.tab.o lex.yy.o -ly -lfl y.tab.c y.tab.h: parser.y
Обратите внимание, что \t
означает . Не 4 пробела, не пробелы, а tab !
Также убедитесь, что между зависимостями есть пустая строка, т. Е. Если вы собираетесь сказать file : зависимости , то убедитесь, что сразу над пустой строкой стоит.