github.com/cnotch/ipchub@v1.1.0/makefile (about) 1 # Go parameters 2 GOCMD=go 3 GOBUILD=$(GOCMD) build 4 GOCLEAN=$(GOCMD) clean 5 GOTEST=$(GOCMD) test 6 GOGET=$(GOCMD) get 7 ENABLED_CGO=0 8 BINARY_NAME=ipchub 9 BINARY_DIR= bin/v1.1.0 10 11 build: 12 CGO_ENABLED=$(ENABLED_CGO) $(GOBUILD) -o bin/$(BINARY_NAME) . 13 cp -r demos bin/ 14 cp -r docs bin/ 15 # linux compilation 16 build-linux-amd64: 17 CGO_ENABLED=$(ENABLED_CGO) GOOS=linux GOARCH=amd64 $(GOBUILD) -o $(BINARY_DIR)/linux/amd64/$(BINARY_NAME)$(VERSION) . 18 cp -r demos $(BINARY_DIR)/linux/amd64/ 19 cp -r docs $(BINARY_DIR)/linux/amd64/ 20 build-linux-386: 21 CGO_ENABLED=$(ENABLED_CGO) GOOS=linux GOARCH=386 $(GOBUILD) -o $(BINARY_DIR)/linux/386/$(BINARY_NAME)$(VERSION) . 22 build-linux-arm: 23 CGO_ENABLED=$(ENABLED_CGO) GOOS=linux GOARCH=arm $(GOBUILD) -o $(BINARY_DIR)/linux/arm/$(BINARY_NAME)$(VERSION) . 24 25 # window compilation 26 build-windows-amd64: 27 CGO_ENABLED=$(ENABLED_CGO) GOOS=windows GOARCH=amd64 $(GOBUILD) -o $(BINARY_DIR)/windows/amd64/$(BINARY_NAME)$(VERSION).exe . 28 cp -r demos $(BINARY_DIR)/windows/amd64/ 29 cp -r docs $(BINARY_DIR)/windows/amd64/ 30 build-windows-386: 31 CGO_ENABLED=$(ENABLED_CGO) GOOS=windows GOARCH=386 $(GOBUILD) -o $(BINARY_DIR)/windows/386/$(BINARY_NAME)$(VERSION).exe . 32 33 # darwin compilation 34 build-darwin-amd64: 35 CGO_ENABLED=$(ENABLED_CGO) GOOS=darwin GOARCH=amd64 $(GOBUILD) -o $(BINARY_DIR)/darwin/amd64/$(BINARY_NAME)$(VERSION) . 36 cp -r demos $(BINARY_DIR)/darwin/amd64/ 37 cp -r docs $(BINARY_DIR)/darwin/amd64/ 38 build-darwin-386: 39 CGO_ENABLED=$(ENABLED_CGO) GOOS=darwin GOARCH=386 $(GOBUILD) -o $(BINARY_DIR)/darwin/386/$(BINARY_NAME)$(VERSION) . 40 41 # amd64 all platform compilation 42 build-amd64: build-linux-amd64 build-windows-amd64 build-darwin-amd64 43 44 # all 45 build-all: build-linux-amd64 build-windows-amd64 build-darwin-amd64 build-linux-386 build-windows-386 build-darwin-386 build-linux-arm 46 47 test: 48 $(GOTEST) -v ./... 49 clean: 50 $(GOCLEAN) 51 rm -f bin/$(BINARY_NAME) 52 rm -rf $(BINARY_DIR)