Automake:如何添加构建步骤?

发布于 2024-08-29 18:33:28 字数 958 浏览 10 评论 0原文

目前,我有一个构建链,完全由 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 不明白:

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'到.x',然后从.x'到.c',最后到`.o '——那么 Automake 的简单化方法将会被打破。

你还有别的想法吗?

Currently, I have a build chain, completly manage by automake, like:

.vala > .c > .o > .exe

I would like add a new step for preprocess a XML file .ui into a vala source:

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

I did this, in makefile.am

gtkbuilder2vala_SOURCES = \
    abstract-window.ui \
    main.vala \
    $(NULL)

And:

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

But make don't understand:

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

This seems to be a limitation of make:

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

if the translation takes three steps--from .m' to.x', then from .x' to.c', and finally to `.o'---then Automake's simplistic approach will break.

Have you another idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七秒鱼° 2024-09-05 18:33:28

我会按照这些思路做一些事情,

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

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

XSLTPROC 定义保留给 configure 中的 AC_SUBST (或者更好的是 AC_ARG_VAR) .ac

I would do something along these lines

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

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

I would leave the XSLTPROC definition to an AC_SUBST (or even better, an AC_ARG_VAR) in configure.ac.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文