1# SPDX-FileCopyrightText: 2021 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	hut git artifact upload out/* -r earl
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 .