Automake:如何添加建筑步骤?

时间:2010-04-20 20:11:37

标签: autotools automake

目前,我有一个构建链,由automake完全管理,如:

.vala > .c > .o > .exe

我想添加一个新步骤,用于将XML文件.ui预处理到vala源代码中:

.ui > .vala > .c > .o > .exe

我在makefile.am

中这样做了
gtkbuilder2vala_SOURCES = \
    abstract-window.ui \
    main.vala \
    $(NULL)

XSLTPROC = xsltproc
.ui.vala:
    $(XSLTPROC) ...

但是不明白:

make: *** No rule to make target `abstract-window.c', needed by `gtkbuilder2vala-abstract-window.o'.  Stop.

这似乎是对make的限制:

  

http://www.ensta.fr/~diam/dev/online/autoconf/autobook/autobook_180.html

     

如果翻译需要三个步骤 - 从.m' to。x',然后从.x' to。c',最后到`.o'---那么Automake的简单方法将会中断。< / p>

你有其他想法吗?

1 个答案:

答案 0 :(得分:4)

我会沿着这些方向做点什么

BUILT_SOURCES += abstract-window.vala
EXTRA_DIST += abstract-window.ui
gtkbuilder2vala_SOURCES += abstract-window.vala

SUFFIXES = .ui .vala
.ui.vala:
    $(XSLTPROC) ...

我会将XSLTPROC定义保留为AC_SUBST中的AC_ARG_VAR(或更好,configure.ac)。