SHELL := /usr/bin/env bash
ZOLA ?= zola
BINARY ?= bin/clusterlog

.PHONY: all build theme templates sync sync-check validate validate-local site serve smoke ci clean runme-install runme-list runme-check runme-ci

all: build

# "build" ya no compila (esta instancia no tiene código Go): descarga el
# binario fijado en .clusterlog-version desde fenandosr/clusterlog,
# verificando su checksum. Se mantiene el nombre "build" para no romper
# RUNBOOK.md ni el hábito de make build/make sync-check de siempre.
build:
	./scripts/fetch-engine.sh $(BINARY)

theme:
	./scripts/bootstrap-theme.sh

# Las plantillas viajan embebidas en el binario del motor desde v0.2.0 (ver
# ADR-0006 del motor): no hay red aparte para esto, sólo se extraen.
templates: build
	./$(BINARY) --root . templates extract

sync: build
	./$(BINARY) --root . sync

sync-check: build
	./$(BINARY) --root . sync --check

validate: build
	./$(BINARY) --root . validate --require-zola

validate-local: build
	./$(BINARY) --root . validate --skip-zola

site: theme templates sync validate
	$(ZOLA) build

serve: theme templates sync
	$(ZOLA) serve --interface 127.0.0.1

smoke: build
	./scripts/smoke.sh

ci: theme templates build sync sync-check validate
	$(ZOLA) build

clean:
	rm -rf bin public themes/zola.386 templates

runme-install:
	./scripts/runme-install.sh

runme-list:
	runme ls --filename RUNBOOK.md

runme-check: build
	./scripts/runme-check.sh

runme-ci: build
	./scripts/runme-ci.sh
