summaryrefslogtreecommitdiff
path: root/arm9
diff options
context:
space:
mode:
Diffstat (limited to 'arm9')
-rw-r--r--arm9/Makefile21
1 files changed, 11 insertions, 10 deletions
diff --git a/arm9/Makefile b/arm9/Makefile
index 2d74cd67..6b730f06 100644
--- a/arm9/Makefile
+++ b/arm9/Makefile
@@ -49,15 +49,18 @@ LD_TEMPLATE := ARM9-TS.lcf.template
# Directories containing source files
SRC_DIRS := src lib lib/src $(wildcard modules/*/src)
-ASM_DIRS := asm lib/syscall data files $(wildcard modules/*/asm)
+ASM_DIRS := asm data files $(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))
+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_OBJS = $(C_FILES:%.c=$(BUILD_DIR)/%.o)
CXX_OBJS = $(CXX_FILES:%.cpp=$(BUILD_DIR)/%.o)
S_OBJS = $(S_FILES:%.s=$(BUILD_DIR)/%.o)
+LIBS_OBJS = $(LIBS_FILES:%.s=$(BUILD_DIR)/%.o)
# Object files
O_FILES := $(C_OBJS) $(CXX_OBJS) $(S_OBJS)
@@ -255,7 +258,7 @@ $(MWASMARM): patch_mwasmarm
patch_mwasmarm:
$(MWASMARM_PATCHER) $(MWASMARM)
-ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS))
+ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS) $(LIBASM_DIRS))
######################## Special Rules ########################
@@ -276,7 +279,7 @@ $(C_OBJS): $(BUILD_DIR)/%.o: %.c $$(dep)
$(CXX_OBJS): $(BUILD_DIR)/%.o: %.cpp $$(dep)
$(CXX) -c $(CXXFLAGS) -o $@ $<
-$(S_OBJS): $(BUILD_DIR)/%.o: %.s $$(dep)
+$(S_OBJS) $(LIBS_OBJS): $(BUILD_DIR)/%.o: %.s $$(dep)
$(AS) $(ASFLAGS) -o $@ $<
# $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SPEC) $(LD_TEMPLATE)
@@ -285,8 +288,8 @@ $(S_OBJS): $(BUILD_DIR)/%.o: %.s $$(dep)
$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT)
$(CPP) $(VERSION_CFLAGS) -MMD -MP -MT $@ -MF $@.d -I include/ -I . -DBUILD_DIR=$(BUILD_DIR) -o $@ $<
-$(ROM): $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT) $(BIN_FILES) $(STATIC_LIBS)
- $(LD) $(LDFLAGS) $(LIBS) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) $(O_FILES) $(BIN_FILES)
+$(ROM): $(BUILD_DIR)/$(LD_SCRIPT) $(O_FILES) $(STATIC_LIBS)
+ $(LD) $(LDFLAGS) $(LIBS) -o $(ELF) $(BUILD_DIR)/$(LD_SCRIPT) $(O_FILES)
$(OBJCOPY) --update-section arm9=$@ -j arm9 $(foreach ov,$(OVERLAYS),--update-section $(ov)=$(BUILD_DIR)/$(ov).sbin -j $(ov)) $(ELF) 2>/dev/null
$(BUILD_DIR)/lib/libsyscall.a: $(BUILD_DIR)/lib/syscall/secure.o
@@ -314,8 +317,6 @@ DUMMY != mkdir -p $(ALL_DIRS)
%.h: ;
%.inc: ;
-$(BIN_FILES): ;
-
### Debug Print ###
print-% : ; $(info $* is a $(flavor $*) variable set to [$($*)]) @true