From 300169514a70fcf01c0fab9b08fd50346bf4d8b6 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 23 Jun 2021 08:05:51 +0200 Subject: [PATCH] Cleaner baserom dependency handling Instead of scaninc ignoring everything starting with baserom, we tell make which baseroms are needed and which to ignore if they come up as dependencies, depending on the version used. --- Makefile | 80 ++++++++++++++++++++------------------- tools/scaninc/scaninc.cpp | 5 +-- 2 files changed, 42 insertions(+), 43 deletions(-) diff --git a/Makefile b/Makefile index e992a477..fde52c3b 100644 --- a/Makefile +++ b/Makefile @@ -35,44 +35,6 @@ endif endif endif -# Check that the required baseroms are available. -ifeq ($(GAME_VERSION), USA) -baserom.gba: - $(error Missing baserom.gba) -.PHONY: baserom_demo.gba baserom_jp.gba baserom_eu.gba -baserom_demo.gba: -baserom_jp.gba: -baserom_eu.gba: -endif -ifeq ($(GAME_VERSION), DEMO) -baserom.gba: - $(error Missing baserom.gba) -baserom_demo.gba: - $(error Missing baserom_demo.gba) -.PHONY: baserom_jp.gba baserom_eu.gba -baserom_jp.gba: -baserom_eu.gba: -endif -ifeq ($(GAME_VERSION), JP) -baserom.gba: - $(error Missing baserom.gba) -baserom_jp.gba: - $(error Missing baserom_jp.gba) -.PHONY: baserom_demo.gba baserom_eu.gba -baserom_demo.gba: -baserom_eu.gba: -endif -ifeq ($(GAME_VERSION), EU) -baserom.gba: - $(error Missing baserom.gba) -baserom_jp.gba: - $(error Missing baserom_jp.gba) -baserom_eu.gba: - $(error Missing baserom_eu.gba) -.PHONY: baserom_demo.gba -baserom_demo.gba: -endif - SHELL := /bin/bash -o pipefail @@ -203,7 +165,10 @@ clean-tools: clean: mostlyclean clean-tools tidy: - rm -f $(ROM) $(ELF) $(MAP) + rm -f tmc.gba tmc.elf tmc.map + rm -f tmc_demo.gba tmc_demo.elf tmc_demo.map + rm -f tmc_jp.gba tmc_jp.elf tmc_jp.map + rm -f tmc_eu.gba tmc_eu.elf tmc_eu.map rm -r build/* include graphics_file_rules.mk @@ -273,3 +238,40 @@ usa: ; @$(MAKE) GAME_VERSION=USA demo: ; @$(MAKE) GAME_VERSION=DEMO jp: ; @$(MAKE) GAME_VERSION=JP eu: ; @$(MAKE) GAME_VERSION=EU + +ifeq ($(GAME_VERSION), USA) +baserom.gba: + $(error "You need to provide a USA ROM as baserom.gba") +.PHONY: baserom_demo.gba baserom_jp.gba baserom_eu.gba +baserom_demo.gba: +baserom_jp.gba: +baserom_eu.gba: +endif +ifeq ($(GAME_VERSION), DEMO) +baserom.gba: + $(error "You need to provide a USA ROM as baserom.gba") +baserom_demo.gba: + $(error "You need to provide a DEMO ROM as baserom_demo.gba") +.PHONY: baserom_jp.gba baserom_eu.gba +baserom_jp.gba: +baserom_eu.gba: +endif +ifeq ($(GAME_VERSION), JP) +baserom.gba: + $(error "You need to provide a USA ROM as baserom.gba") +baserom_jp.gba: + $(error "You need to provide a JP ROM as baserom_jp.gba") +.PHONY: baserom_demo.gba baserom_eu.gba +baserom_demo.gba: +baserom_eu.gba: +endif +ifeq ($(GAME_VERSION), EU) +baserom.gba: + $(error "You need to provide a USA ROM as baserom.gba") +baserom_jp.gba: + $(error "You need to provide a JP ROM as baserom_jp.gba") +baserom_eu.gba: + $(error "You need to provide a EU ROM as baserom_eu.gba") +.PHONY: baserom_demo.gba +baserom_demo.gba: +endif diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp index 4c4a5cc9..b95cbd03 100755 --- a/tools/scaninc/scaninc.cpp +++ b/tools/scaninc/scaninc.cpp @@ -93,10 +93,7 @@ int main(int argc, char **argv) includeDirs.push_back(file.GetSrcDir()); for (auto incbin : file.GetIncbins()) { - // Don't include incbins starting with baserom, as they might not be necessary if another variant is being built. - if (incbin.rfind("baserom", 0) != 0) { - dependencies.insert(incbin); - } + dependencies.insert(incbin); } for (auto include : file.GetIncludes()) {