ROC_VERSION ?= 0.0.0-alpha2
REGISTRY ?= git.roo.lol/jbrechtel
# Use podman by default; override with: make BUILD_CMD=docker
BUILD_CMD ?= podman
BUILD_FLAGS ?= -f Containerfile

.PHONY: build-base build-dev build-ci build-all push-base push-dev push-ci push-all

build-base:
	$(BUILD_CMD) build \
		$(BUILD_FLAGS) \
		--target base \
		--build-arg ROC_VERSION=$(ROC_VERSION) \
		-t $(REGISTRY)/roc-tools-base:$(ROC_VERSION) \
		-t $(REGISTRY)/roc-tools-base:latest \
		.

build-dev:
	$(BUILD_CMD) build \
		$(BUILD_FLAGS) \
		--target dev \
		--build-arg ROC_VERSION=$(ROC_VERSION) \
		-t $(REGISTRY)/roc-tools-dev:$(ROC_VERSION) \
		-t $(REGISTRY)/roc-tools-dev:latest \
		.

build-ci:
	$(BUILD_CMD) build \
		$(BUILD_FLAGS) \
		--target ci \
		--build-arg ROC_VERSION=$(ROC_VERSION) \
		-t $(REGISTRY)/roc-tools-ci:$(ROC_VERSION) \
		-t $(REGISTRY)/roc-tools-ci:latest \
		.

build-all: build-base build-dev build-ci

push-base:
	$(BUILD_CMD) push $(REGISTRY)/roc-tools-base:$(ROC_VERSION)
	$(BUILD_CMD) push $(REGISTRY)/roc-tools-base:latest

push-dev:
	$(BUILD_CMD) push $(REGISTRY)/roc-tools-dev:$(ROC_VERSION)
	$(BUILD_CMD) push $(REGISTRY)/roc-tools-dev:latest

push-ci:
	$(BUILD_CMD) push $(REGISTRY)/roc-tools-ci:$(ROC_VERSION)
	$(BUILD_CMD) push $(REGISTRY)/roc-tools-ci:latest

push-all: build-all push-base push-dev push-ci
