diff --git a/Makefile b/Makefile index b523ef3205..002eb790d1 100644 --- a/Makefile +++ b/Makefile @@ -65,9 +65,7 @@ FIX := tools/gbafix/gbafix$(EXE) .PHONY: rom clean compare tidy -$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR) $(MID_BUILDDIR)) - -C_SRCS := $(wildcard $(C_SUBDIR)/*.c) +C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c) C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s) @@ -82,9 +80,13 @@ SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS)) MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid) MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS)) -OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) +OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) +SUBDIRS := $(sort $(dir $(OBJS))) + +$(shell mkdir -p $(SUBDIRS)) + rom: $(ROM) # For contributors to make sure a change didn't affect the contents of the ROM.