blob: 9468ad67449e3340ce6718142360a5058cfc8767 [file] [log] [blame]
Giorgi Lekveishvili0c6b3242024-03-14 15:31:08 +04001repo_name ?= giolekva
2podman ?= docker
3ifeq ($(podman), podman)
4manifest_dest=docker://docker.io/$(repo_name)/headscale-api:latest
5endif
6
Giorgi Lekveishvili52814d92023-06-15 19:30:32 +04007clean:
8 rm -f server_*
9
10build_arm64: export CGO_ENABLED=0
11build_arm64: export GO111MODULE=on
12build_arm64: export GOOS=linux
13build_arm64: export GOARCH=arm64
14build_arm64:
15 go build -o server_arm64 *.go
16
17build_amd64: export CGO_ENABLED=0
18build_amd64: export GO111MODULE=on
19build_amd64: export GOOS=linux
20build_amd64: export GOARCH=amd64
21build_amd64:
22 go build -o server_amd64 *.go
23
Giorgi Lekveishvilia1e77902023-11-06 14:48:27 +040024push_arm64: clean build_arm64
Giorgi Lekveishvili0c6b3242024-03-14 15:31:08 +040025 $(podman) build --platform linux/arm64 --tag=$(repo_name)/headscale-api:arm64 .
26 $(podman) push $(repo_name)/headscale-api:arm64
Giorgi Lekveishvilia1e77902023-11-06 14:48:27 +040027
28push_amd64: clean build_amd64
Giorgi Lekveishvili0c6b3242024-03-14 15:31:08 +040029 $(podman) build --platform linux/amd64 --tag=$(repo_name)/headscale-api:amd64 .
30 $(podman) push $(repo_name)/headscale-api:amd64
Giorgi Lekveishvilia1e77902023-11-06 14:48:27 +040031
32
33push: push_arm64 push_amd64
Giorgi Lekveishvili0c6b3242024-03-14 15:31:08 +040034 $(podman) manifest create $(repo_name)/headscale-api:latest $(repo_name)/headscale-api:arm64 $(repo_name)/headscale-api:amd64
35 $(podman) manifest push $(repo_name)/headscale-api:latest $(manifest_dest)
36 $(podman) manifest rm $(repo_name)/headscale-api:latest