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