什么是MakeFile
Makefile文件的作用是告诉make工具需要如何去编译和链接程序,在需要编译工程时只需要一个make命令即可,避免了每次编译都要重新输入完整命令的麻烦,大大提高了效率,也减少了出错率。
目录
├── main.go
├── Makefile
└── README.md
Makefile 例子
#环境变量
export VERSION=1.0.0
export ENV=prod
export PROJECT=test
#变量
PWD=$(shell pwd)
OUT_DIR=$(PWD)/cmd
OUT_NAME=$(PROJECT)_$(VERSION)
OUT_FILE=$(OUT_DIR)/$(OUT_NAME)
MAIN_FILE=main.go
PACK_FILE=$(OUT_NAME).tar.gz
build:
@echo "移除老项目"
@ rm -rf $(OUT_DIR)/*
@go build -o $(OUT_FILE) $(MAIN_FILE)
@echo "构建项目成功 : " $(OUT_NAME)
run:build
@# 执行pack前先执行一次build
@echo "运行项目"
@$(OUT_FILE)
pack:build
@# 执行pack前先执行一次build
tar -czvf $(PACK_FILE) -C $(OUT_DIR) .
@echo "打包结束 :"
构建命令
# 带上环境变量
make build ENV="prod" VERSION="2.0.0" PROJECT="test_makefile"
打包命令
make pack
运行命令
make run