# ──────────────────────────────────────────────────────────────────────────────
# Makefile – "Institutional Quality and Pandemic Resilience"
# Analysis and table/figure generation pipeline
# ──────────────────────────────────────────────────────────────────────────────

-include .env

PYTHON  := python3
# LaTeX: use MIKTEX_BIN from .env if set (Windows, pdflatex/bibtex not in PATH), else use PATH
LATEX   := $(if $(MIKTEX_BIN),$(MIKTEX_BIN)/pdflatex.exe,pdflatex)
BIBTEX  := $(if $(MIKTEX_BIN),$(MIKTEX_BIN)/bibtex.exe,bibtex)

CODEDIR := code
PAPER   := paper
OUTPUT  := output

.PHONY: all data download-data refresh-data prepare-data analysis figures regressions robustness paper supplement replication-package clean clean-data

all: data analysis paper

# ── Phase 1: Download raw data and prepare datasets ───────────────────────────
data: prepare-data

download-data:
	$(PYTHON) $(CODEDIR)/01_download_data.py

refresh-data:
	$(PYTHON) $(CODEDIR)/01_download_data.py --force
	$(PYTHON) $(CODEDIR)/02_prepare_data.py

prepare-data: download-data
	$(PYTHON) $(CODEDIR)/02_prepare_data.py

# ── Phase 2: Run all analyses ─────────────────────────────────────────────────
analysis: data figures regressions robustness

regressions: data
	$(PYTHON) $(CODEDIR)/04_main_regressions.py

robustness: data
	$(PYTHON) $(CODEDIR)/06_robustness.py

figures: data
	$(PYTHON) $(CODEDIR)/03_descriptive_stats.py
	$(PYTHON) $(CODEDIR)/05_chile_case_study.py

# ── Phase 3: Compile LaTeX ────────────────────────────────────────────────────
paper: analysis supplement
	cd $(PAPER) && $(LATEX) -interaction=nonstopmode main.tex && $(BIBTEX) main && $(LATEX) -interaction=nonstopmode main.tex && $(LATEX) -interaction=nonstopmode main.tex
	mkdir -p $(OUTPUT)
	cp $(PAPER)/main.pdf $(OUTPUT)/institutional_quality_pandemic.pdf

supplement: analysis
	cd $(PAPER) && $(LATEX) -interaction=nonstopmode supplement.tex && $(LATEX) -interaction=nonstopmode supplement.tex
	mkdir -p $(OUTPUT)
	cp $(PAPER)/supplement.pdf $(OUTPUT)/institutional_quality_pandemic_supplement.pdf

# ── Submission packaging ─────────────────────────────────────────────────────
replication-package: analysis
	mkdir -p submission
	rm -f submission/replication_scripts.zip
	zip -r -X submission/replication_scripts.zip requirements.txt Makefile REPRODUCIBILITY.md code data/raw data/processed paper/tables paper/figures \
		-x '*/__pycache__/*' '*.DS_Store' 'paper/*.aux' 'paper/*.blg' 'paper/*.log' 'paper/*.out' \
		'paper/*.fls' 'paper/*.fdb_latexmk' 'paper/*.bcf' 'paper/*.run.xml' 'paper/*.synctex.gz' \
		'paper/*.toc' 'paper/cover_letter.*' 'paper/reference_audit.md'

# ── Housekeeping ──────────────────────────────────────────────────────────────
clean:
	rm -f $(PAPER)/*.aux $(PAPER)/*.bbl $(PAPER)/*.blg $(PAPER)/*.log
	rm -f $(PAPER)/*.out $(PAPER)/*.fdb_latexmk $(PAPER)/*.fls
	rm -f $(PAPER)/*.bcf $(PAPER)/*.run.xml $(PAPER)/*.synctex.gz
	rm -f $(OUTPUT)/*.pdf

clean-data:
	rm -rf data/raw/* data/processed/*
