Skip to content

Files

Failed to load latest commit information.

Latest commit

 Cannot retrieve latest commit at this time.

History

History
 
 

makefile

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

什么是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