Makefile错误PL-0编译器

我的makefile文件有问题,真的没有原因。 所以我不得不用C / C ++编写一个PL-0编译器。 所以扫描器和解析器是用flex和bison生成的,但是 现在我不能编译它。 Makefile总是抛出错误 所以这是makefile

工具

FLEX =弯曲 BISON =野牛

源目录

SRC = src

测试目录

TEST =测试

c ++标准

ifndef STD     性病= 17 万一

pl-0:$(SRC)/scanner.l $(SRC)/parser.y $(SRC)/。cpp         $(弹性)$(SRC)/scanner.l         $(BISON)-d $(SRC)/parser.y         $(CPP)-std = c ++ $(STD)-w -o $ @ $(SRC)/。cpp parser.tab.c lex.yy.c -ll

清洁:         rm -fv lex.yy. * parser.tab。* * .o

清洁测试:

./test.sh -r

rm -fv $(测试)/ *。asm

全部清除:干净测试干净             rm -fv PL-0

var:         回声CC = $(CC)CPP = $(CPP)

错误看起来像这样: markus @ DESKTOP-OFQF0QC:/ mnt / c / Users / yimer / OneDrive / Desktop / 73700-60857-60897 $ make flex src / scanner.l 野牛-d src / parser.y cc -E -std = c ++ 17 -w -o pl-0 src / *。cpp parser.tab.c lex.yy.c -ll cc:致命错误:无法使用-c,-S或-E来指定多个文件的-o 编译终止。 Makefile:17:目标“ PL-0”的配方失败 make:*** [pl-0]错误1

如果有人知道问题所在,请帮助我

评论