BINDIR       := bin
CLIENT       := $(BINDIR)/sendspin-client
SERVER       := $(BINDIR)/sendspin-server
LIVE_SERVER  := $(BINDIR)/sendspin-live-server
CROSS_IMAGE  := rpi-sendspin-cross

.PHONY: all build client server live-server rpi test vet clean

all: build

build: client server live-server

client:
	go build -o $(CLIENT) ./cmd/client/

server:
	go build -o $(SERVER) ./cmd/server/

live-server:
	go build -o $(LIVE_SERVER) ./cmd/live-server/

test:
	go test ./...

vet:
	go vet ./...

# Cross-compile for RPi via Docker (armhf + arm64)
rpi:
	docker build --network=host -f Dockerfile.cross -t $(CROSS_IMAGE) .
	mkdir -p $(BINDIR)
	docker run --rm --network=host -v $(CURDIR)/$(BINDIR):/binaries $(CROSS_IMAGE)

clean:
	rm -rf $(BINDIR)
