From 010d641899be44eb7fc5f458d819c332e092d03f Mon Sep 17 00:00:00 2001 From: mid-kid Date: Sun, 19 Dec 2021 22:27:11 +0100 Subject: Explicitly declare dependencies for generated files These are harder to pick up automatically, and will only change when the tools are edited, anyway... Any other methods for solving this issue can always be reconsidered later down the line... --- Makefile | 4 ++-- data_item.mk | 7 ++++++- data_move.mk | 6 +++++- data_pokemon.mk | 12 +++++++++++- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index cc39e09..5ea70d1 100755 --- a/Makefile +++ b/Makefile @@ -117,7 +117,7 @@ $(C_BUILDDIR)/m4a.o: CC1 := tools/agbcc/bin/old_agbcc ALL_BUILDS := red # Available targets -.PHONY: all clean tidy libagbsyscall tools clean-tools $(TOOLDIRS) +.PHONY: all clean compare tidy libagbsyscall tools clean-tools $(TOOLDIRS) MAKEFLAGS += --no-print-directory @@ -136,7 +136,7 @@ infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst # Disable dependency scanning for clean/tidy/tools # Use a separate minimal makefile for speed # Since we don't need to reload most of this makefile -ifeq (,$(filter-out clean,$(MAKECMDGOALS))) +ifeq (,$(filter clean,$(MAKECMDGOALS))) $(call infoshell, $(MAKE) -f make_tools.mk) endif diff --git a/data_item.mk b/data_item.mk index 375cbf1..db010c9 100644 --- a/data_item.mk +++ b/data_item.mk @@ -3,7 +3,12 @@ ITEM_DIR = $(DATA_ASM_SUBDIR)/item ITEM_DATA = $(ITEM_DIR)/item_data.inc +# Headers included by tools/dungeonjson/dungeonjson.cpp:generate_item_data_text +ITEM_DATA_INC = \ + include/constants/item.h \ + include/constants/move_id.h + data_item: $(ITEM_DATA); -$(ITEM_DATA): $(ITEM_DIR)/item_data.json +$(ITEM_DATA): $(ITEM_DIR)/item_data.json $(ITEM_DATA_INC) $(DUNGEONJSON) item pmd-red $< diff --git a/data_move.mk b/data_move.mk index 48350cb..63d756d 100644 --- a/data_move.mk +++ b/data_move.mk @@ -3,7 +3,11 @@ MOVE_DIR = $(DATA_ASM_SUBDIR)/move MOVE_DATA = $(MOVE_DIR)/move_data.inc +# Headers included by tools/dungeonjson/dungeonjson.cpp:generate_move_data_text +MOVE_DATA_INC = \ + include/constants/type.h + data_move: $(MOVE_DATA); -$(MOVE_DATA): $(MOVE_DIR)/move_data.json +$(MOVE_DATA): $(MOVE_DIR)/move_data.json $(MOVE_DATA_INC) $(DUNGEONJSON) move pmd-red $< diff --git a/data_pokemon.mk b/data_pokemon.mk index 9a81bca..c690a9c 100644 --- a/data_pokemon.mk +++ b/data_pokemon.mk @@ -3,7 +3,17 @@ POKEMON_DIR = $(DATA_ASM_SUBDIR)/pokemon POKEMON_SPECIES = $(POKEMON_DIR)/species_data.inc +# Headers included by tools/dungeonjson/dungeonjson.cpp:generate_species_data_text +POKEMON_SPECIES_INC = \ + include/constants/ability.h \ + include/constants/evolve_type.h \ + include/constants/friend_area.h \ + include/constants/item.h \ + include/constants/species.h \ + include/constants/type.h \ + include/constants/walkable_tile.h + data_pokemon: $(POKEMON_SPECIES); -$(POKEMON_SPECIES): $(POKEMON_DIR)/species_data.json +$(POKEMON_SPECIES): $(POKEMON_DIR)/species_data.json $(POKEMON_SPECIES_INC) $(DUNGEONJSON) species pmd-red $< -- cgit v1.2.3