我有auto.lex
,我想生成此文件的a.out
。
我试过了 -
a.out: lex.yy.c
gcc -c lex.yy.c
lex.yy.c: auto.lex
flex -c auto.lex
但它不起作用。
修改
更改为 -
a.out: lex.yy.c
gcc lex.yy.c
lex.yy.c: auto.lex
flex auto.lex
并修复。
答案 0 :(得分:1)
lex文件的推荐后缀为.l
。 GNU make有一个内置规则.l.c
,可以从lex源创建C代码。因此,如果要从auto
创建可执行文件auto.l
,则根本不需要makefile。只需输入make auto
:
$ make auto lex -t auto.l > auto.c cc -c -o auto.o auto.c cc auto.o -lfl -o auto rm auto.o auto.c