.PHONY: build run all debug

# Variables
IMAGE_NAME = pmo_crazy_coder
TAG = latest
PORT = 7860
SANDBOX_VOLUME = "./bac_a_sable"
DOCKER_RUN_COMMON = --rm -p $(PORT):$(PORT) -v $(SANDBOX_VOLUME):/sandbox
FULL_IMAGE_NAME = $(IMAGE_NAME):$(TAG)

all: run

$(SANDBOX_VOLUME):
	mkdir -p $(SANDBOX_VOLUME)

stampdir:
	mkdir -p stamp

stamp/build_PMOCrazyCoder: stampdir Dockerfile
	@echo building the PMOCrazyCoder server
	@docker build -t $(FULL_IMAGE_NAME) .
	@touch $@

build: stamp/build_PMOCrazyCoder
run: build $(SANDBOX_VOLUME)
	@echo Launching the PMOCrazyCoder MCP server
	@docker run $(DOCKER_RUN_COMMON) \
				$(FULL_IMAGE_NAME)

debug: build $(SANDBOX_VOLUME)
	@echo Launching the PMOCrazyCoder MCP server in debug mode
	@docker run $(DOCKER_RUN_COMMON) \
	     	   -it \
				$(FULL_IMAGE_NAME) /bin/bash
