initial commit
This commit is contained in:
44
Makefile
Normal file
44
Makefile
Normal file
@@ -0,0 +1,44 @@
|
||||
BINARY = beerpong-elo
|
||||
BUILD_DIR = build
|
||||
BUILD_ARCH = $(shell go env GOARCH)
|
||||
BUILD_OS = $(shell go env GOOS)
|
||||
DOCKER_BUILD_FLAGS =
|
||||
DOCKER_BUILD_PLATFORM = linux/amd64,linux/arm64,linux/arm32v6,linux/arm32v7
|
||||
DOCKER_BUILD_TAG = djeeberjr/beerpong-elo
|
||||
DIST_DIR = static
|
||||
EMBED_DIR = internal/web/static
|
||||
|
||||
.PHONY: all
|
||||
all: clean build
|
||||
|
||||
.PHONY:build
|
||||
build: $(BUILD_DIR)/$(BINARY)
|
||||
|
||||
$(BUILD_DIR)/$(BINARY): $(EMBED_DIR) $(shell find . -name '*.go')
|
||||
GOARCH=$(BUILD_ARCH) GOOS=$(BUILD_OS) go build -o $(BUILD_DIR)/$(BINARY) cmd/beerpong-elo.go
|
||||
|
||||
$(EMBED_DIR): $(BUILD_DIR)/$(DIST_DIR)
|
||||
cp -r $(BUILD_DIR)/$(DIST_DIR) $(EMBED_DIR)
|
||||
|
||||
$(BUILD_DIR)/$(DIST_DIR):
|
||||
cd web/ && npm run build && mkdir ../$(BUILD_DIR) && cp -r dist/ ../$(BUILD_DIR)/$(DIST_DIR)
|
||||
|
||||
.PHONY: deps
|
||||
deps:
|
||||
cd web/ && npm ci
|
||||
|
||||
.PHONY:clean
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR) $(EMBED_DIR)
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
go test ./...
|
||||
|
||||
.PHONY: docker-push
|
||||
docker-push:
|
||||
docker buildx build $(DOCKER_BUILD_FLAGS) --platform $(DOCKER_BUILD_PLATFORM) -t $(DOCKER_BUILD_TAG) . --push
|
||||
|
||||
.PHONY: docker-local
|
||||
docker-local:
|
||||
docker buildx build $(DOCKER_BUILD_FLAGS) -t $(DOCKER_BUILD_TAG) . --load
|
||||
Reference in New Issue
Block a user