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