2010-04-20 2 views
2

В настоящее время у меня есть сборки цепи, укомплектовать управление по Automake, как:Automake: Как добавить шаг здания?

.vala > .c > .o > .exe 

Я хотел бы добавить новый шаг для предварительной обработки в XML-файл .ui в источник Валу:

.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. 

Это, как представляется, ограничение выпуска:

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

если перевод занимает три шага - от .m' to .x ', затем от .x' to .c' и, наконец, до `.o '--- тогда упростительный подход Automake сломается.

У вас есть идея?

ответ

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.