是否可以使用Go build和额外的构建步骤?

时间:2014-12-10 14:02:10

标签: build go

在构建时做什么还不够,需要运行额外的命令和go build? go工具是否涵盖了这个用例?如果是这样,会议的内容是什么?

我注意到可以传递额外的标志来构建工具:

//#cgo pkg-config: glib-2.0 gobject-2.0 etc etc
import "C"

是否可以运行额外的命令或者至少告诉go build使用Makefile?

2 个答案:

答案 0 :(得分:3)

没有。 go工具不是一个通用的构建系统。有一些针对cgo的规定(比如pkg-config),但它不可扩展。

在go1.4中

会有generate command。这将允许您运行任意命令以预处理源文件,但它始终必须是显式运行的单独步骤。您无法将其挂钩到go getgo buildgo install

许多需要更复杂构建的项目使用脚本或Makefile,并避开常规功能go get。但是,图书馆包应该努力get - 能够简化依赖性解决方案。

答案 1 :(得分:1)

我不相信你可以添加额外的步骤。

pkg-config是内置构建系统的特殊关键字。

通常,使用makefile完成更复杂的构建,该makefile在适当的步骤调用go build。