From 010d641899be44eb7fc5f458d819c332e092d03f Mon Sep 17 00:00:00 2001 From: mid-kid Date: Sun, 19 Dec 2021 22:27:11 +0100 Subject: [PATCH] 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 cc39e0914..5ea70d1d0 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 375cbf182..db010c948 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 48350cb90..63d756dac 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 9a81bca76..c690a9c9e 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 $<