2

現在、次のようなビルドチェーンがあり、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

変換が 3 つのステップ ( .m' to.x' から、次に.x' to.c' から、最後に `.o') を要する場合、Automake の単純なアプローチは破綻します。

別のアイデアはありますか?

4

1 に答える 1

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ます。

于 2010-04-20T20:19:27.367 に答える