首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从autoconf生成的makefile调用外部程序

从autoconf生成的makefile调用外部程序
EN

Stack Overflow用户
提问于 2013-10-03 17:42:53
回答 1查看 310关注 0票数 1

在我的项目中,我正在使用Google的协议缓冲库。我发现在protoc 2.5.0和2.4.1生成的代码之间没有向后兼容性(很明显):

代码语言:javascript
复制
#error incompatible with your Protocol Buffer headers. Please 
regenerate this file with a newer version of protoc.

因此,我只想添加Makefile规则来调用protoc并在用户机器上生成源文件。(是的,请提供更多不必要的依赖)

我想为bisonc++flexc++xsd-generated代码添加类似的规则。

该项目位于autohell (GNU autoconf)构建系统上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-05 15:28:21

我不知道protoc,但我从Makefile运行其他程序。

在我的例子中,程序生成依赖于平台的数据,在交叉编译时不起作用。你可能不需要这些支票。

在configure.ac中:

代码语言:javascript
复制
AM_CONDITIONAL([CROSS_COMPILING], [ test "x$cross_compiling" = xyes ])

在Makefile.am中添加生成的文件(假设您使用自动):

代码语言:javascript
复制
if !CROSS_COMPILING
pkgdata_DATA = generated_file
endif

然后编写一个普通的make规则来生成它:

代码语言:javascript
复制
generated_file: input_file
        generate$(EXEEXT) -input $< -output $@
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19165715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档