Подготовить автономную сборку и запуск перед разделением проектов
This commit is contained in:
@@ -22,14 +22,20 @@
|
||||
# Основные цели:
|
||||
# make собрать sprpop.exe и разложить build/
|
||||
# make hdd + образ build/hdd/sprpop.chd
|
||||
# make mame-link однократно связать образ с MAME (см. ниже)
|
||||
# make run-hdd запустить MAME с локальным образом игры
|
||||
# make resources перегенерировать ресурсы из assets/orig/
|
||||
# make music-mp3 музыка из другого набора записей (flac|mp3|ogg|mt32)
|
||||
# make clean снести build/ (ассеты не трогает)
|
||||
# make distclean clean + снести упакованные ассеты assets/packed/
|
||||
|
||||
SPRINTER_ROOT ?= $(abspath $(CURDIR)/../..)
|
||||
-include $(CURDIR)/local.mk
|
||||
SPRINTER_ROOT ?= $(if $(wildcard $(CURDIR)/../../bin/sprinter-cc),$(abspath $(CURDIR)/../..),)
|
||||
ifeq ($(strip $(SPRINTER_ROOT)),)
|
||||
$(error Задайте SPRINTER_ROOT или создайте SprPoP/local.mk)
|
||||
endif
|
||||
PROJ_ROOT := $(SPRINTER_ROOT)
|
||||
export SPRINTER_ROOT MAME_HOME MAME_BIN MAME_ROMPATH MAME_DSS_IMAGE
|
||||
export MAME_SYSTEM_HDD_IMAGE MAME_BIOS CHDMAN_BIN
|
||||
EXAMPLE := sprpop
|
||||
SRC_DIR := src
|
||||
BUILD_DIR := build
|
||||
@@ -259,8 +265,7 @@ HDD_PACK_ARGS := $(BUILD_DIR)/$(EXAMPLE).exe \
|
||||
# Всё дерево SprPoP лежит рядом с EXE, но не меняет дефолт глобального
|
||||
# упаковщика: остальные приложения по-прежнему попадают в корень HDD.
|
||||
HDD_DEST_DIR := games/sprpop
|
||||
# Образ живёт в build/, а не в mame/v306/IMG — приложение автономно. Связь с
|
||||
# MAME — одна символьная ссылка, ставится однократно: make mame-link.
|
||||
# Образ живёт в build/; run-hdd передаёт его MAME напрямую как hard2.
|
||||
HDD_IMG := $(CURDIR)/$(BUILD_DIR)/hdd/$(EXAMPLE).chd
|
||||
|
||||
include $(PROJ_ROOT)/app.mk
|
||||
@@ -560,14 +565,6 @@ hdd: stage | $(BUILD_DIR)/hdd
|
||||
$(BUILD_DIR)/hdd:
|
||||
@mkdir -p $@
|
||||
|
||||
# Однократная связка с MAME: run_bridge.sh жёстко открывает IMG/test_hdd.chd,
|
||||
# поэтому подсовываем ему символьную ссылку на наш образ. chdman переписывает
|
||||
# сам файл, ссылка остаётся живой — но MAME после пересборки образа ОБЯЗАН
|
||||
# полный рестарт (новый inode).
|
||||
mame-link: hdd
|
||||
ln -sf $(HDD_IMG) $(PROJ_ROOT)/mame/v306/IMG/test_hdd.chd
|
||||
@echo "MAME: IMG/test_hdd.chd -> $(HDD_IMG)"
|
||||
|
||||
# Музыка из конкретного набора записей. Каждая цель пересобирает музыку и
|
||||
# сразу раскладывает её в build/, чтобы `make hdd` взял уже новую.
|
||||
# make music-mp3 собрать музыку из mp3
|
||||
@@ -624,4 +621,4 @@ distclean: clean
|
||||
.PHONY: stage check-orig resources resources-rebuild resources-bg resources-kid \
|
||||
resources-actors resources-sound resources-music resources-font \
|
||||
resources-title resources-pv resources-levels $(MUSIC_TARGETS) \
|
||||
$(FETCH_TARGETS) test-tools relink distclean mame-link
|
||||
$(FETCH_TARGETS) test-tools relink distclean run-hdd
|
||||
|
||||
Reference in New Issue
Block a user