换Make来构建你的Go语言项目吧

栏目: Go · 发布时间: 5年前

内容简介:看这篇文章之前,你是否打包Go语言开发的项目时,是直接在命令行输入:在开发调试时是否是:然后看到开源的Go语言项目在运行时却是:

看这篇文章之前,你是否打包 Go 语言开发的项目时,是直接在命令行输入:

go build .
复制代码

在开发调试时是否是:

go run main.go
复制代码

然后看到开源的Go语言项目在运行时却是:

make build
复制代码

或者

make install
复制代码

我们打包运行这个过程,还有一个更加贴切的词语叫做构建项目。

今天给大家介绍下 Makefile 这个广为使用的构建工具,他是开源的,不仅仅适用于Go当中,C语言的项目或者C++的项目等同样都适用。

01 make简介

在软件开发中,make通常被视为一种软件构建工具。该 工具 主要经由读取一种名为“makefile”或“Makefile”的文件来实现软件的自动化建构。

它会通过一种被称之为“target”概念来检查相关文件之间的依赖关系,这种依赖关系的检查系统非常简单,主要通过对比文件的修改时间来实现。

在大多数情况下,我们主要用它来编译源代码,生成结果代码,然后把结果代码连接起来生成可执行文件或者库文件。

很多开源项目里面都在用到

换Make来构建你的Go语言项目吧

这是最近比较火的以太坊上在GitHub上的源码截图,其他的我就不再截图了,接下来给大家介绍下怎么使用它开构建我们的项目。

02 安装

如果你是mac的系统,系统是自带了的,如果是 linux 就需要自己安装下make,命令很简单。

centons系统的make安装命令:

yum install -y make
复制代码

03 创建配置文件

我这里新建了一个工程,工程目录是这样:

换Make来构建你的Go语言项目吧

main.go 里面的源码如下:

换Make来构建你的Go语言项目吧

和我们以往的项目没啥区别,就多了一个 Makefile 文件,如果要使用 Makefile 去构建你项目,就需要在你的项目里面新建这个 Makefile 文件。

这里我贴一个简单的 Makefile 文件的源码:

BINARY_NAME=App
run:
	go build -o bin/$(BINARY_NAME) -v
	./bin/$(BINARY_NAME)
复制代码

解释下上面各行的意思:

  • 第一行,声明了一个变量 BINARY_NAME 他的值是 App ,方便后面使用
  • 第二行,声明一个 target ,其实你可以理解成一个对外的方法
  • 第三行,这就是这个 target 被调用时执行的脚本,这行就是build这个项目,编译后的二进制文件放在当前工程根目录下的 bin 目录下,名字是变量 BINARY_NAME 的值
  • 第四行,这一行就是直接执行当前 bin 目录下的二进制文件

注意:第三行,第四行前面一定要用 tab 键缩进,否者会报下面的错:

Makefile:3: *** missing separator.  Stop.
复制代码

以上所述就是小编给大家介绍的《换Make来构建你的Go语言项目吧》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Linux Command Line

The Linux Command Line

William E. Shotts Jr. / No Starch Press, Incorporated / 2012-1-17 / USD 39.95

You've experienced the shiny, point-and-click surface of your Linux computer-now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very ......一起来看看 《The Linux Command Line》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具