github.com/goplus/gop@v1.2.6/Makefile (about) 1 NAME := gop 2 RELEASE_VERSION := `git describe --tags` 3 BUILD_ROOT_DIR := build-dir 4 5 .PHONY: clean all 6 all: build 7 8 clean: 9 rm -rf $(BUILD_ROOT_DIR)/* 10 rm -f bin/* 11 12 build: 13 go run cmd/make.go -build 14 15 dist: 16 $(MAKE) clean 17 mkdir -p bin/ 18 go build -o $(BUILD_ROOT_DIR)/make cmd/make.go 19 $(MAKE) build-all 20 21 build-all: darwin-amd64.zip darwin-arm64.zip linux-386.zip linux-amd64.zip \ 22 linux-armv7.zip windows-386.zip windows-amd64.zip windows-armv7.zip windows-arm64.zip 23 24 build-dist: 25 @mkdir -p bin/ 26 @rm -rf bin/* 27 $(BUILD_ROOT_DIR)/make -build 28 29 %.zip: % 30 @echo "Building $(NAME)-$(RELEASE_VERSION)-$@" 31 32 @rm -f $(BUILD_ROOT_DIR)/$(NAME)-$(RELEASE_VERSION)-$@ 33 zip -r $(BUILD_ROOT_DIR)/$(NAME)-$(RELEASE_VERSION)-$@ . -x ".*" -x "*/.*" -x "$(BUILD_ROOT_DIR)/*" 34 @echo "$(NAME)-$(RELEASE_VERSION)-$@ Done" 35 36 darwin-amd64: 37 $(MAKE) GOARCH=amd64 GOOS=darwin BUILD_DIR=$(BUILD_ROOT_DIR)/$@/bin build-dist 38 39 darwin-arm64: 40 $(MAKE) GOARCH=arm64 GOOS=darwin BUILD_DIR=$(BUILD_ROOT_DIR)/$@/bin build-dist 41 42 linux-386: 43 $(MAKE) GOARCH=386 GOOS=linux BUILD_DIR=$(BUILD_ROOT_DIR)/$@/bin build-dist 44 45 linux-amd64: 46 $(MAKE) GOARCH=amd64 GOOS=linux BUILD_DIR=$(BUILD_ROOT_DIR)/$@/bin build-dist 47 48 linux-armv7: 49 $(MAKE) GOARCH=arm GOOS=linux GOARM=7 BUILD_DIR=$(BUILD_ROOT_DIR)/$@/bin build-dist 50 51 windows-386: 52 $(MAKE) GOARCH=386 GOOS=windows EXE_SUFFIX=.exe BUILD_DIR=$(BUILD_ROOT_DIR)/$@/bin build-dist 53 54 windows-amd64: 55 $(MAKE) GOARCH=amd64 GOOS=windows EXE_SUFFIX=.exe BUILD_DIR=$(BUILD_ROOT_DIR)/$@/bin build-dist 56 57 windows-armv7: 58 $(MAKE) GOARCH=arm GOOS=windows EXE_SUFFIX=.exe GOARM=7 BUILD_DIR=$(BUILD_ROOT_DIR)/$@/bin build-dist 59 60 windows-arm64: 61 $(MAKE) GOARCH=arm64 GOOS=windows EXE_SUFFIX=.exe BUILD_DIR=$(BUILD_ROOT_DIR)/$@/bin build-dist