.PHONY: build run clean docker-build docker-run docker-push # Build the application build: go build -o spore-gateway main.go # Run the application run: go run main.go # Clean build artifacts clean: rm -f spore-gateway # Format code fmt: go fmt ./... # Lint code (requires golangci-lint) lint: golangci-lint run # Install dependencies deps: go mod download go mod tidy # Docker variables DOCKER_REGISTRY ?= IMAGE_NAME = wirelos/spore-gateway IMAGE_TAG ?= latest FULL_IMAGE_NAME = $(if $(DOCKER_REGISTRY),$(DOCKER_REGISTRY)/$(IMAGE_NAME),$(IMAGE_NAME)):$(IMAGE_TAG) # Build Docker image docker-build: docker build -t $(FULL_IMAGE_NAME) . # Run Docker container docker-run: docker run --network host --rm $(FULL_IMAGE_NAME) # Push Docker image docker-push: docker push $(FULL_IMAGE_NAME)