forked from Mirror/GodMode9
* Split up the ARM9 code (.text, .vectors) and data (.rodata, .data, .bss) sections into their own ELFs. This allows us to use more ARM9 WRAM while leaving the 128k BootROM mirror intact. * use the makefile definition * Also dump section headers on .dis file
37 lines
871 B
Makefile
Executable File
37 lines
871 B
Makefile
Executable File
|
|
OBJECTS := $(patsubst $(SOURCE)/%.s, $(BUILD)/%.o, \
|
|
$(patsubst $(SOURCE)/%.c, $(BUILD)/%.o, \
|
|
$(call rwildcard, $(SOURCE), *.s *.c)))
|
|
|
|
OBJECTS_COMMON := $(patsubst $(COMMON_DIR)/%.c, $(BUILD)/%.cmn.o, \
|
|
$(call rwildcard, $(COMMON_DIR), *.c))
|
|
|
|
.PHONY: all
|
|
all: $(TARGET).elf
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
@rm -rf $(BUILD) $(TARGET).elf $(TARGET).dis $(TARGET).map
|
|
|
|
$(TARGET).elf: $(OBJECTS) $(OBJECTS_COMMON)
|
|
@mkdir -p "$(@D)"
|
|
@$(CC) $(LDFLAGS) $^ -o $@
|
|
@$(OBJDUMP) -S -h $@ > $@.dis
|
|
|
|
$(BUILD)/%.cmn.o: $(COMMON_DIR)/%.c
|
|
@mkdir -p "$(@D)"
|
|
@echo "[$(PROCESSOR)] $<"
|
|
@$(CC) -c $(CFLAGS) -o $@ $<
|
|
|
|
$(BUILD)/%.o: $(SOURCE)/%.c
|
|
@mkdir -p "$(@D)"
|
|
@echo "[$(PROCESSOR)] $<"
|
|
@$(CC) -c $(CFLAGS) -o $@ $<
|
|
|
|
$(BUILD)/%.o: $(SOURCE)/%.s
|
|
@mkdir -p "$(@D)"
|
|
@echo "[$(PROCESSOR)] $<"
|
|
@$(CC) -c $(ASFLAGS) -o $@ $<
|
|
|
|
include $(call rwildcard, $(BUILD), *.d)
|