目前,我有一个构建链,由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>
你有其他想法吗?
答案 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
)。