From 87ec71f71b41c3e7ac7e4c4048f9ff8777b7b041 Mon Sep 17 00:00:00 2001 From: garak Date: Wed, 14 Nov 2018 17:59:30 -0500 Subject: subdirs in build --- Makefile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 1d2a15d00..bb9abd83d 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. -- cgit v1.2.3 From c067c4e617685e45e770c5e9e8dd57446ccafe0b Mon Sep 17 00:00:00 2001 From: garak Date: Wed, 14 Nov 2018 19:12:12 -0500 Subject: fix dependency scanning --- Makefile | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 1d2a15d00..b523ef320 100644 --- a/Makefile +++ b/Makefile @@ -133,10 +133,10 @@ $(C_BUILDDIR)/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc $(C_BUILDDIR)/record_mixing.o: CFLAGS += -ffreestanding -ifeq ($(NODEP),) -$(C_BUILDDIR)/%.o: c_dep = $(shell $(SCANINC) -I include $(C_SUBDIR)/$*.c) -else +ifeq ($(NODEP),1) $(C_BUILDDIR)/%.o: c_dep := +else +$(C_BUILDDIR)/%.o: c_dep = $(shell $(SCANINC) -I include $(C_SUBDIR)/$*.c) endif $(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep) @@ -145,19 +145,19 @@ $(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep) @echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s $(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s -ifeq ($(NODEP),) -$(ASM_BUILDDIR)/%.o: asm_dep = $(shell $(SCANINC) $(ASM_SUBDIR)/$*.s) -else +ifeq ($(NODEP),1) $(ASM_BUILDDIR)/%.o: asm_dep := +else +$(ASM_BUILDDIR)/%.o: asm_dep = $(shell $(SCANINC) $(ASM_SUBDIR)/$*.s) endif $(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(asm_dep) $(AS) $(ASFLAGS) -o $@ $< -ifeq ($(NODEP),) -$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s) -else +ifeq ($(NODEP),1) $(DATA_ASM_BUILDDIR)/%.o: data_dep := +else +$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s) endif $(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep) -- cgit v1.2.3