Завершить разделение SDK и внешних проектов

This commit is contained in:
Александр Петров
2026-09-16 10:01:43 +03:00
parent 0e74aaa7ee
commit 2e7ffd64a4
1965 changed files with 373 additions and 201393 deletions
+11 -7
View File
@@ -22,7 +22,11 @@ TESTS := hello hello2 simple banked bankedbg banktest strtest cat seek \
# ещё не собирается). Вернуть мигрированными на BGI --gfx 16.
FLOPPY_IMG := build/media/toolkit-tests.img
MAKE_DISK := toolchain/make_disk.py
MAME_HOME ?= $(if $(wildcard mame/v306/mame.arm),$(CURDIR)/mame/v306,)
MAME_HOME ?=
PYTHON ?= $(shell pyenv which python)
ifeq ($(strip $(PYTHON)),)
$(error pyenv Python 3.12 не найден; задайте PYTHON=/путь/к/python3.12)
endif
TEST_EXES := $(foreach t,$(TESTS),tests/$(t)/$(t).exe)
ALL_EXES := $(TEST_EXES)
@@ -55,17 +59,17 @@ $(TESTS): tools lib
# Generate big.txt if missing (gen_bigfile.py creates 100 KB marker file).
tests/seek/big.txt:
cd tests/seek && python3 gen_bigfile.py big.txt 102400
cd tests/seek && $(PYTHON) gen_bigfile.py big.txt 102400
# Собственный SDK-носитель: не изменяет диск MAME или приложения.
floppy: tests tests/seek/big.txt
python3 $(MAKE_DISK) $(FLOPPY_IMG) $(ALL_EXES) $(DATA_FILES)
$(PYTHON) $(MAKE_DISK) $(FLOPPY_IMG) $(ALL_EXES) $(DATA_FILES)
@echo
@echo "Floppy ready: $(FLOPPY_IMG)"
@echo "Run: make run MAME_HOME=/путь/к/MAME/runtime"
run: floppy
python3 toolchain/run_sprinter_mame.py --mame-home "$(MAME_HOME)" --floppy "$(FLOPPY_IMG)"
$(PYTHON) toolchain/run_sprinter_mame.py --mame-home "$(MAME_HOME)" --floppy "$(FLOPPY_IMG)"
# Модульные тесты под ucsim_z80. Обвязка — testkit/, сами наборы лежат
# рядом с кодом, который проверяют. MAME не нужна, идут за секунды;
@@ -79,15 +83,15 @@ host-tests:
# Отладочная карта: реальные SDCC/linker и протокол транспорта без MAME.
# Для local pyenv: pyenv exec make sdbg-tests.
sdbg-tests: tools lib
python3 -m unittest discover -s tests/sdbg -v
$(PYTHON) -m unittest discover -s tests/sdbg -v
# Размерный регресс: сверить _CODE всех программ с docs/size_baseline.tsv.
size-check:
python3 toolchain/size_check.py
$(PYTHON) toolchain/size_check.py
# Принять текущие размеры как эталон (после осознанных изменений).
size-baseline:
python3 toolchain/size_check.py --update
$(PYTHON) toolchain/size_check.py --update
clean:
$(MAKE) -C toolchain/mkexe clean