2011-07-27 88 views
0

我正在使用Yacc和Lex進行項目工作。我正在使用Anjuta IDE進行該任務,並且遇到了Autotools的問題。我無法構建我的源代碼,因爲我的文件需要由Yacc生成的標題。我如何確保Yacc在編譯過程的其他部分之前完成其工作。Automake Yacc問題

回答

1

您需要添加您的lex和yacc文件作爲依賴關係,以便使會讓他們:

foo_SOURCES : foo_main.c foo.y foo.l 

或類似的東西。更多細節將會有所幫助。

0

如果您有一個由Yacc的-d選項生成的頭文件,您應該在BUILT_SOURCES中列出它,以便在編譯任何其他源文件之前構建它。

Makefile.am可能看起來像

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

(此示例來自the Automake manual逐字拷貝。)