1# SPDX-FileCopyrightText: 2022 Amolith <amolith@secluded.site>
2#
3# SPDX-License-Identifier: CC0-1.0
4
5.PHONY: default clean all aix dragonfly darwin freebsd illumos netbsd linux openbsd plan9 solaris windows
6
7default:
8 go build -o out/earl .
9
10clean:
11 rm -rf out
12
13release: clean all
14 if ! [ -f "$HOME/.config/hut/config" ] ; then cat ~/.artifacts_token | hut init ; fi
15 for i in out/* ; do hut git artifact upload -r earl "$i" ; done
16
17all: darwin dragonfly freebsd illumos netbsd openbsd plan9 linux solaris windows
18
19aix:
20 GOOS=aix GOARCH=ppc64 CGO_ENABLED=0 go build -o out/earl-aix-ppc64 .
21
22darwin:
23 GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-darwin-amd64 .
24 GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-darwin-arm64 .
25
26dragonfly:
27 GOOS=dragonfly GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-dragonfly-amd64 .
28
29freebsd:
30 GOOS=freebsd GOARCH=386 CGO_ENABLED=0 go build -o out/earl-freebsd-i386 .
31 GOOS=freebsd GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-freebsd-amd64 .
32 GOOS=freebsd GOARCH=arm CGO_ENABLED=0 go build -o out/earl-freebsd-arm .
33
34illumos:
35 GOOS=illumos GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-illumos-amd64 .
36
37linux:
38 GOOS=linux GOARCH=386 CGO_ENABLED=0 go build -o out/earl-linux-i386 .
39 GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-linux-amd64 .
40 GOOS=linux GOARCH=arm CGO_ENABLED=0 go build -o out/earl-linux-arm .
41 GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-linux-arm64 .
42 GOOS=linux GOARCH=ppc64 CGO_ENABLED=0 go build -o out/earl-linux-ppc64 .
43 GOOS=linux GOARCH=ppc64le CGO_ENABLED=0 go build -o out/earl-linux-ppc64le .
44 GOOS=linux GOARCH=mips CGO_ENABLED=0 go build -o out/earl-linux-mips .
45 GOOS=linux GOARCH=mipsle CGO_ENABLED=0 go build -o out/earl-linux-mipsle .
46 GOOS=linux GOARCH=mips64 CGO_ENABLED=0 go build -o out/earl-linux-mips64 .
47 GOOS=linux GOARCH=mips64le CGO_ENABLED=0 go build -o out/earl-linux-mips64le .
48 GOOS=linux GOARCH=riscv64 CGO_ENABLED=0 go build -o out/earl-linux-riscv64 .
49 GOOS=linux GOARCH=s390x CGO_ENABLED=0 go build -o out/earl-linux-s390x .
50
51netbsd:
52 GOOS=netbsd GOARCH=386 CGO_ENABLED=0 go build -o out/earl-netbsd-i386 .
53 GOOS=netbsd GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-netbsd-amd64 .
54 GOOS=netbsd GOARCH=arm CGO_ENABLED=0 go build -o out/earl-netbsd-arm .
55
56openbsd:
57 GOOS=openbsd GOARCH=386 CGO_ENABLED=0 go build -o out/earl-openbsd-i386 .
58 GOOS=openbsd GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-openbsd-amd64 .
59 GOOS=openbsd GOARCH=arm CGO_ENABLED=0 go build -o out/earl-openbsd-arm .
60 GOOS=openbsd GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-openbsd-arm64 .
61
62plan9:
63 GOOS=plan9 GOARCH=386 CGO_ENABLED=0 go build -o out/earl-plan9-i386 .
64 GOOS=plan9 GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-plan9-amd64 .
65 GOOS=plan9 GOARCH=arm CGO_ENABLED=0 go build -o out/earl-plan9-arm .
66
67solaris:
68 GOOS=solaris GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-solaris-amd64 .
69
70windows:
71 GOOS=windows GOARCH=386 CGO_ENABLED=0 go build -o out/earl-windows-i386.exe .
72 GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-windows-amd64.exe .
73 GOOS=windows GOARCH=arm CGO_ENABLED=0 go build -o out/earl-windows-arm.exe .
74 GOOS=windows GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-windows-arm64.exe .