AGENTS := evaluator redator editor art director publisher BIN := ./bin # ── Detecta OS para extensão dos binários ───────────────────────────────────── ifeq ($(OS),Windows_NT) EXT := .exe else EXT := endif .PHONY: all build build-windows build-linux build-arm64 clean seed-inbox # Build para o OS atual all: build build: @mkdir -p $(BIN) @$(foreach agent,$(AGENTS), \ echo " build $(agent)..." && \ go build -o $(BIN)/ldpost-$(agent)$(EXT) ./$(agent)/ ; \ ) @echo "Done → $(BIN)/" # Cross-compile explícito build-windows: @mkdir -p $(BIN) @$(foreach agent,$(AGENTS), \ echo " [windows/amd64] $(agent)" && \ GOOS=windows GOARCH=amd64 go build -o $(BIN)/ldpost-$(agent).exe ./$(agent)/ ; \ ) build-linux: @mkdir -p $(BIN) @$(foreach agent,$(AGENTS), \ echo " [linux/amd64] $(agent)" && \ GOOS=linux GOARCH=amd64 go build -o $(BIN)/ldpost-$(agent) ./$(agent)/ ; \ ) build-arm64: @mkdir -p $(BIN) @$(foreach agent,$(AGENTS), \ echo " [linux/arm64] $(agent)" && \ GOOS=linux GOARCH=arm64 go build -o $(BIN)/ldpost-$(agent) ./$(agent)/ ; \ ) # Testes test: go test ./shared/... # Copia _sugestoes.md do seed para o workspace seed-inbox: @if [ -z "$(LDPOST_WORKSPACE)" ]; then \ echo "LDPOST_WORKSPACE não definido — exporte ou copie .env.example para .env"; exit 1; \ fi @mkdir -p "$(LDPOST_WORKSPACE)/_inbox" @cp seed/_sugestoes.md "$(LDPOST_WORKSPACE)/_inbox/_sugestoes.md" @echo "Seed copiado para $(LDPOST_WORKSPACE)/_inbox/_sugestoes.md" clean: rm -f $(BIN)/ldpost-*