hello go的makefile

通常编译go程序,都是用go build,或者go install, go install实际与go build做的事情是一样的,不同的是go install最后会把可执行文件保存在$GOPATH/bin目录下面,所以执行go install前提是要指定GOPATH环境变量。

除了直接用go 命令外,也可以把go 命令都写到makefile里面,然后直接执行make就可以编译出可执行文件。关于Makefile的具体语法这里不作详细介绍,可以参考linux下make命令的用法,下面通过一个栗子演示下:

export GOROOT=$(shell realpath $(shell dirname $(shell which go))/..)
export GOPATH=$(shell pwd)

all: hello
        echo "Done!"

hello:
        go install github.com/user/hello

.PHONY: clean test
test:
        @echo "testing..."
        go test github.com/user/stringutil
        @echo "test Done!"
clean:
        rm -f hello bin/hello
        rm -rf pkg/*

说明下,以上makefile是在ubuntu linux 386环境上实验的,其实go语言目前支持intel 32bits, 64bits, ARM这些平台,后续可能还会支持更多平台,所以这里说明下,如果想要编译跨平台的可执行文件,比如我要编译一个在arm平台上执行的程序,这时就需要再多指定几个环境变量(注:上面因为我的go直接安装的是linux 32bit 386,所以平台,系统这些环境变量即都为默认值,默认值就是当前宿主系统)。下面几个环境变量指明了平台和系统:
export GOARCH=arm
export GOOS=linux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JXES智能生态系统

如文章对你有用,请作者喝个咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值