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

是否可以使用带有额外构建步骤的Go build?,build,go,Build,Go,当go build不够,需要在go build的同时运行额外的命令时,该怎么办?go tools是否包含此用例?如果是,惯例是什么 我注意到可以通过以下方式传递额外的标志来构建工具: //#cgo pkg-config: glib-2.0 gobject-2.0 etc etc import "C" 是否可以运行额外的命令或至少告诉go build使用Makefile?我不相信您可以添加额外的步骤 pkg config是内置系统的一个特殊关键字 通常,更复杂的构建是通过一个makefile完成

当go build不够,需要在go build的同时运行额外的命令时,该怎么办?go tools是否包含此用例?如果是,惯例是什么

我注意到可以通过以下方式传递额外的标志来构建工具:

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

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

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

pkg config是内置系统的一个特殊关键字


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

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

在go1.4中,将出现。这将允许您为预处理源文件运行任意命令,但它始终必须是显式运行的单独步骤。您不能将它挂接到
获取
构建
安装


许多需要更复杂构建的项目使用脚本或Makefile,并避免使用一般功能
go-get
。然而,为了简化依赖解析,库包应该努力做到
get

但是如果用户
go-get
一个需要运行Makefile的包,会发生什么情况呢?在这种情况下,go-get不会真正起作用。有几个软件包需要git克隆并运行make才能安装。如果能够用makefile覆盖go build,那就太好了。尽管如此,Go似乎很有希望。