我正在尝试编译一个包含词法分析器文件、语法分析器文件和几个C文件的程序。我在Flex手册中看到了这个例子。关于这个makefile,我有几个问题。它没有指定像
gcc
这样的编译器,那么这个makefile如何知道如何创建目标文件,例如scan.o
、parse.o
和myprogram.o
呢? # Makefile example -- scanner and parser.
# Creates "myprogram" from "scan.l", "parse.y", and "myprogram.c"
#
LEX = flex
YACC = bison -y
YFLAGS = -d
objects = scan.o parse.o myprogram.o
myprogram: $(objects)
scan.o: scan.l parse.c
parse.o: parse.y
myprogram.o: myprogram.c
.o
添加明确的规则仍然是一个更好的主意。 - Kninnug