From c158adba66b96b16659a706312bd1c354b33d1b9 Mon Sep 17 00:00:00 2001 From: Demki Date: Sat, 11 Jul 2020 09:16:37 +0300 Subject: Added sorting to makefile wildcard fixes builds with make >= 3.8.2 and < 4.3 --- Makefile | 5 +++-- arm7/Makefile | 5 +++-- arm9/Makefile | 14 ++++++++------ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 9b8b430e..06655098 100644 --- a/Makefile +++ b/Makefile @@ -65,8 +65,9 @@ BNR := $(BUILD_DIR)/$(TARGET).bnr SRC_DIRS := src ASM_DIRS := asm data files -C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) -S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s)) +# sorting wildcards required for versions of make >= 3.8.2 and < 4.3 for consistent builds +C_FILES := $(foreach dir,$(SRC_DIRS),$(sort $(wildcard $(dir)/*.c))) +S_FILES := $(foreach dir,$(ASM_DIRS),$(sort $(wildcard $(dir)/*.s))) # Object files O_FILES := $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o)) \ diff --git a/arm7/Makefile b/arm7/Makefile index abb7cf03..88f796a0 100644 --- a/arm7/Makefile +++ b/arm7/Makefile @@ -49,8 +49,9 @@ LD_TEMPLATE := ARM7-TS.lcf.template SRC_DIRS := src lib lib/src ASM_DIRS := asm data files -C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) -S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s)) +# sorting wildcards required for versions of make >= 3.8.2 and < 4.3 for consistent builds +C_FILES := $(foreach dir,$(SRC_DIRS),$(sort $(wildcard $(dir)/*.c))) +S_FILES := $(foreach dir,$(ASM_DIRS),$(sort $(wildcard $(dir)/*.s))) C_OBJS = $(C_FILES:%.c=$(BUILD_DIR)/%.o) S_OBJS = $(S_FILES:%.s=$(BUILD_DIR)/%.o) diff --git a/arm9/Makefile b/arm9/Makefile index 4d4b553c..42228747 100644 --- a/arm9/Makefile +++ b/arm9/Makefile @@ -48,14 +48,16 @@ LD_SPEC := $(TARGET).lsf LD_TEMPLATE := ARM9-TS.lcf.template # Directories containing source files -SRC_DIRS := src lib lib/src $(wildcard modules/*/src) -ASM_DIRS := asm data files $(wildcard modules/*/asm) + +# sorting wildcards required for versions of make >= 3.8.2 and < 4.3 for consistent builds +SRC_DIRS := src lib lib/src $(sort $(wildcard modules/*/src)) +ASM_DIRS := asm data files $(sort $(wildcard modules/*/asm)) LIBASM_DIRS := lib/syscall -C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) -CXX_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.cpp)) -S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s)) -LIBS_FILES := $(foreach dir,$(LIBASM_DIRS),$(wildcard $(dir)/*.s)) +C_FILES := $(foreach dir,$(SRC_DIRS),$(sort $(wildcard $(dir)/*.c))) +CXX_FILES := $(foreach dir,$(SRC_DIRS),$(sort $(wildcard $(dir)/*.cpp))) +S_FILES := $(foreach dir,$(ASM_DIRS),$(sort $(wildcard $(dir)/*.s))) +LIBS_FILES := $(foreach dir,$(LIBASM_DIRS),$(sort $(wildcard $(dir)/*.s))) C_OBJS = $(C_FILES:%.c=$(BUILD_DIR)/%.o) CXX_OBJS = $(CXX_FILES:%.cpp=$(BUILD_DIR)/%.o) -- cgit v1.2.3