Makefile

 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	hut git artifact upload out/* -r earl
15
16all: darwin dragonfly freebsd illumos netbsd openbsd plan9 linux solaris windows
17
18aix:
19	GOOS=aix GOARCH=ppc64 CGO_ENABLED=0 go build -o out/earl-aix-ppc64 .
20
21darwin:
22	GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-darwin-amd64 .
23	GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-darwin-arm64 .
24
25dragonfly:
26	GOOS=dragonfly GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-dragonfly-amd64 .
27
28freebsd:
29	GOOS=freebsd GOARCH=386 CGO_ENABLED=0 go build -o out/earl-freebsd-i386 .
30	GOOS=freebsd GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-freebsd-amd64 .
31	GOOS=freebsd GOARCH=arm CGO_ENABLED=0 go build -o out/earl-freebsd-arm .
32
33illumos:
34	GOOS=illumos GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-illumos-amd64 .
35
36linux:
37	GOOS=linux GOARCH=386 CGO_ENABLED=0 go build -o out/earl-linux-i386 .
38	GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-linux-amd64 .
39	GOOS=linux GOARCH=arm CGO_ENABLED=0 go build -o out/earl-linux-arm .
40	GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-linux-arm64 .
41	GOOS=linux GOARCH=ppc64 CGO_ENABLED=0 go build -o out/earl-linux-ppc64 .
42	GOOS=linux GOARCH=ppc64le CGO_ENABLED=0 go build -o out/earl-linux-ppc64le .
43	GOOS=linux GOARCH=mips CGO_ENABLED=0 go build -o out/earl-linux-mips .
44	GOOS=linux GOARCH=mipsle CGO_ENABLED=0 go build -o out/earl-linux-mipsle .
45	GOOS=linux GOARCH=mips64 CGO_ENABLED=0 go build -o out/earl-linux-mips64 .
46	GOOS=linux GOARCH=mips64le CGO_ENABLED=0 go build -o out/earl-linux-mips64le .
47	GOOS=linux GOARCH=riscv64 CGO_ENABLED=0 go build -o out/earl-linux-riscv64 .
48	GOOS=linux GOARCH=s390x CGO_ENABLED=0 go build -o out/earl-linux-s390x .
49
50netbsd:
51	GOOS=netbsd GOARCH=386 CGO_ENABLED=0 go build -o out/earl-netbsd-i386 .
52	GOOS=netbsd GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-netbsd-amd64 .
53	GOOS=netbsd GOARCH=arm CGO_ENABLED=0 go build -o out/earl-netbsd-arm .
54
55openbsd:
56	GOOS=openbsd GOARCH=386 CGO_ENABLED=0 go build -o out/earl-openbsd-i386 .
57	GOOS=openbsd GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-openbsd-amd64 .
58	GOOS=openbsd GOARCH=arm CGO_ENABLED=0 go build -o out/earl-openbsd-arm .
59	GOOS=openbsd GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-openbsd-arm64 .
60
61plan9:
62	GOOS=plan9 GOARCH=386 CGO_ENABLED=0 go build -o out/earl-plan9-i386 .
63	GOOS=plan9 GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-plan9-amd64 .
64	GOOS=plan9 GOARCH=arm CGO_ENABLED=0 go build -o out/earl-plan9-arm .
65
66solaris:
67	GOOS=solaris GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-solaris-amd64 .
68
69windows:
70	GOOS=windows GOARCH=386 CGO_ENABLED=0 go build -o out/earl-windows-i386.exe .
71	GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-windows-amd64.exe .
72	GOOS=windows GOARCH=arm CGO_ENABLED=0 go build -o out/earl-windows-arm.exe .
73	GOOS=windows GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-windows-arm64.exe .