CC := go
NAME := peer
OUT := bin/

all: clean windows linux darwin

windows: peer.go types.go
	GOOS=$@ GOARCH=amd64 $(CC) build -o $(OUT)$(NAME)_$@.exe $^

linux: peer.go types.go
	GOOS=$@ GOARCH=amd64 $(CC) build -o $(OUT)$(NAME)_$@ $^

darwin: peer.go types.go
	GOOS=$@ GOARCH=amd64 $(CC) build -o $(OUT)$(NAME)_$@_amd64 $^
	GOOS=$@ GOARCH=arm64 $(CC) build -o $(OUT)$(NAME)_$@_arm64 $^

clean:
	$(RM) -r $(OUT)