Automake Yacc问题

时间:2011-07-27 18:19:10

标签: c yacc automake

我正在使用Yacc和Lex开展一个项目。我正在使用Anjuta IDE来完成任务,我遇到了Autotools的问题。我无法构建我的源代码,因为我的文件需要Yacc生成的头文件。在编译过程的其余部分之前,如何确保Yacc完成其工作。

2 个答案:

答案 0 :(得分:1)

您需要将lex和yacc文件添加为依赖项,因此make将生成它们:

foo_SOURCES : foo_main.c foo.y foo.l

或类似的东西。更多细节会有所帮助。

答案 1 :(得分:0)

如果您有一个由Yacc的-d选项生成的头文件,您应该在BUILT_SOURCES中列出它,以便在编译任何其他源文件之前构建它。

Makefile.am看起来像

 BUILT_SOURCES = parser.h
 AM_YFLAGS = -d
 bin_PROGRAMS = foo
 foo_SOURCES = ... parser.y ...

(此示例从the Automake manual逐字复制。)