Makefile 使用备注
Makefile 使用备注
概述
用于linux平台,管理软件项目的编译,连接等作用。
格式
一般在项目根目录下,创建Makefile文件。如:
#
# Makefile
# josephzeng, 2018-08-02 23:13
#
SHELL=/bin/bash
export GOPATH=$(shell pwd):/home/josephzeng/go
GOBIN=go
GLIDE=glide
GOBUILD=$(GOBIN) build
GOCLEAN=$(GOBIN) clean
GOTEST=$(GOBIN) test
GOGET=$(GOBIN) get
GATEWAYBIN=./bin/gateway
GATEWAYSRC=./src/gateway
all: test_gateway build_gateway
test: test_gateway
build: build_gateway
test_gateway:
$(GOTEST) -v $(GATEWAYSRC)
build_gateway:
rm -rf $(GATEWAYBIN)
$(GOBUILD) -o $(GATEWAYBIN) $(GATEWAYSRC)
run_gateway: build_gateway
ps -eaf| grep $(GATEWAYBIN) | grep -v grep | awk '{print $$2}' | xargs kill -9
$(GATEWAYBIN)
deps:
cd ./src ;\
$(GLIDE) get github.com/go-ini/ini#v1.38.1 ;\
$(GLIDE) get github.com/urfave/cli#v1.20.0 ;\
$(GLIDE) install
clean:
rm -rf ./bin/*
rm -rf ./logs/*
#执行多个目标
.PHONY:test_gateway build_gateway
语法
基本语法
target: dependencies
command
#target 执行目标,比如 make target 执行对应的目标
#dependencies 依赖项 如 target: before 表示依赖before执行target
#command 执行目标使用命令集合
变量
VARIABLE = value # 在执行时扩展,允许递归扩展。 VARIABLE := value # 在定义时扩展。 VARIABLE ?= value # 只有在该变量为空时才设置值。 VARIABLE += value # 将值追加到变量的尾端。
备注
- Author: josephzeng
- License: CC BY-NC-ND 4.0