|
1 |
| -ver := "0.1.0" |
2 |
| -opt := "" |
| 1 | +ver := 0.0.0-pre |
| 2 | +build_at := $(shell date +"%Y-%m-%dT%H:%M:%S%z") |
| 3 | +build_by := $(shell git config --global user.name)-$(shell git config --global user.email) |
| 4 | +feat := 1 |
| 5 | +opt := -ldflags="-w -s -X main.VERSION=$(ver)+$(feat) -X main.BUILD_AT=$(build_at) -X main.BUILD_BY=$(build_by)" |
3 | 6 |
|
4 |
| -dev: pre |
5 |
| - mkdir -p ./out/dev |
6 |
| - go build -o ./out/dev/ |
| 7 | +release: build_linux build_darwin build_windows |
7 | 8 |
|
8 |
| -release: pre |
9 |
| - mkdir -p ./out/release |
10 |
| - go build -o ./out/release/ |
| 9 | +build_linux: pre |
| 10 | + env = CGO_ENABLED=0 GOOS=linux GOARCH=386 |
| 11 | + $(env) go build -o ./out/linux/fleck_$(ver)+$(feat)_linux-i386 $(opt) |
11 | 12 |
|
12 |
| -pre: |
| 13 | + env = CGO_ENABLED=0 GOOS=linux GOARCH=386 |
| 14 | + $(env) go build -tags=bare -o ./out/linux/fleck-bare_$(ver)+$(feat)_linux-i386 $(opt) |
| 15 | + |
| 16 | + env = CGO_ENABLED=0 GOOS=linux GOARCH=amd64 |
| 17 | + $(env) go build -o ./out/linux/fleck_$(ver)+$(feat)_linux-x86_64 $(opt) |
| 18 | + |
| 19 | + env = CGO_ENABLED=0 GOOS=linux GOARCH=amd64 |
| 20 | + $(env) go build -tags=bare -o ./out/linux/fleck-bare_$(ver)+$(feat)_linux-x86_64 $(opt) |
| 21 | + |
| 22 | + env = CGO_ENABLED=0 GOOS=linux GOARCH=arm |
| 23 | + $(env) go build -o ./out/linux/fleck_$(ver)+$(feat)_linux-arm $(opt) |
| 24 | + |
| 25 | + env = CGO_ENABLED=0 GOOS=linux GOARCH=arm |
| 26 | + $(env) go build -tags=bare -o ./out/linux/fleck-bare_$(ver)+$(feat)_linux-arm $(opt) |
| 27 | + |
| 28 | + env = CGO_ENABLED=0 GOOS=linux GOARCH=arm64 |
| 29 | + $(env) go build -o ./out/linux/fleck_$(ver)+$(feat)_linux-arm64 $(opt) |
| 30 | + |
| 31 | + env = CGO_ENABLED=0 GOOS=linux GOARCH=arm64 |
| 32 | + $(env) go build -tags=bare -o ./out/linux/fleck-bare_$(ver)+$(feat)_linux-arm64 $(opt) |
| 33 | + |
| 34 | +build_windows: pre |
| 35 | + env = CGO_ENABLED=0 GOOS=windows GOARCH=386 |
| 36 | + $(env) go build -o ./out/windows/fleck_$(ver)+$(feat)_windows-i386.exe $(opt) |
| 37 | + |
| 38 | + env = CGO_ENABLED=0 GOOS=windows GOARCH=386 |
| 39 | + $(env) go build -tags=bare -o ./out/windows/fleck-bare_$(ver)+$(feat)_windows-i386.exe $(opt) |
| 40 | + |
| 41 | + env = CGO_ENABLED=0 GOOS=windows GOARCH=amd64 |
| 42 | + $(env) go build -o ./out/windows/fleck_$(ver)+$(feat)_windows-amd64.exe $(opt) |
| 43 | + |
| 44 | + env = CGO_ENABLED=0 GOOS=windows GOARCH=amd64 |
| 45 | + $(env) go build -tags=bare -o ./out/windows/fleck-bare_$(ver)+$(feat)_windows-amd64.exe $(opt) |
| 46 | + |
| 47 | + env = CGO_ENABLED=0 GOOS=windows GOARCH=arm |
| 48 | + $(env) go build -o ./out/windows/fleck_$(ver)+$(feat)_windows-arm.exe $(opt) |
| 49 | + |
| 50 | + env = CGO_ENABLED=0 GOOS=windows GOARCH=arm |
| 51 | + $(env) go build -tags=bare -o ./out/windows/fleck-bare_$(ver)+$(feat)_windows-arm.exe $(opt) |
| 52 | + |
| 53 | + env = CGO_ENABLED=0 GOOS=windows GOARCH=arm64 |
| 54 | + $(env) go build -o ./out/windows/fleck_$(ver)+$(feat)_windows-arm64.exe $(opt) |
| 55 | + |
| 56 | + env = CGO_ENABLED=0 GOOS=windows GOARCH=arm64 |
| 57 | + $(env) go build -tags=bare -o ./out/windows/fleck-bare_$(ver)+$(feat)_windows-arm64.exe $(opt) |
| 58 | + |
| 59 | +build_darwin: pre |
| 60 | + env = CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 |
| 61 | + $(env) go build -o ./out/darwin/fleck_$(ver)+$(feat)_darwin-amd64 $(opt) |
| 62 | + |
| 63 | + env = CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 |
| 64 | + $(env) go build -tags=bare -o ./out/darwin/fleck-bare_$(ver)+$(feat)_darwin-amd64 $(opt) |
| 65 | + |
| 66 | + env = CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 |
| 67 | + $(env) go build -o ./out/darwin/fleck_$(ver)+$(feat)_darwin-arm64 $(opt) |
| 68 | + |
| 69 | + env = CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 |
| 70 | + $(env) go build -tags=bare -o ./out/darwin/fleck-bare_$(ver)+$(feat)_darwin-arm64 $(opt) |
| 71 | + |
| 72 | +pre: clean |
13 | 73 | mkdir -p ./out
|
| 74 | + mkdir -p ./out/darwin |
| 75 | + mkdir -p ./out/linux |
| 76 | + mkdir -p ./out/windows |
| 77 | + |
| 78 | +clean: |
| 79 | + rm -fr ./out |
0 commit comments