# Build mdview.exe — Markdown viewer for Sprinter.
#
# small memory mode: code in W1, data/stack/heap in W2 (32 KB total).
# W3 stays free for the file buffer (EMM-mapped).

PROJ_ROOT  := $(abspath $(CURDIR)/../..)
EXAMPLE    := mdview
MEMORY     := small

include $(PROJ_ROOT)/app.mk

# ------------------------------------------------------------------
# Образ дискеты: только mdview.exe + README.MD (перекодированный
# из UTF-8 в CP866 — рабочую кодировку Sprinter).
#
# README.MD хранится в репозитории в UTF-8; iconv -c конвертирует
# его в CP866, отбрасывая символы без аналога в целевой кодировке.
# Результат кладётся в .disk_tmp/README.MD, чтобы make_disk.py
# использовал правильное имя файла на диске.
#
# iconv -c возвращает ненулевой код, если хоть один символ отброшен
# (даже с -c) — это ОЖИДАЕМО при потере символов без аналога в CP866,
# не ошибка конвертации; вывод при этом всё равно корректно записан.
# Поэтому код возврата iconv игнорируется (|| true).
# ------------------------------------------------------------------
DISK_TMP    := .disk_tmp
README_DISK := $(DISK_TMP)/README.MD

$(DISK_TMP):
	mkdir -p $@

$(README_DISK): README.MD | $(DISK_TMP)
	iconv -c -f UTF-8 -t CP866 README.MD > $@ || true

floppy: $(EXAMPLE).exe $(README_DISK)
	python3 $(MAKE_DISK) $(FLOPPY_IMG) $(EXAMPLE).exe $(README_DISK)
	@echo
	@echo "Floppy ready: $(FLOPPY_IMG)"
	@echo "Run:  cd $(MAME_DIR) && ./run_mame.sh"

clean:
	rm -rf .sprinter-cc-* $(EXAMPLE).exe $(DISK_TMP)

.PHONY: all clean floppy run
