2018-03-20 00:56:37 +01:00
|
|
|
PROCESSOR := ARM9
|
|
|
|
|
2017-11-09 01:24:46 +01:00
|
|
|
TARGET := $(shell basename $(CURDIR))
|
|
|
|
|
|
|
|
SOURCE := source
|
|
|
|
BUILD := build
|
|
|
|
|
2019-03-15 01:05:23 +01:00
|
|
|
SUBARCH := -D$(PROCESSOR) -mcpu=arm946e-s -mtune=arm946e-s -mfloat-abi=soft -mno-thumb-interwork -marm
|
2018-04-04 20:58:23 +09:00
|
|
|
INCDIRS := source source/common source/filesys source/crypto source/fatfs source/nand source/virtual source/game source/gamecart source/lodepng source/qrcodegen source/system source/utils
|
2017-11-09 01:24:46 +01:00
|
|
|
INCLUDE := $(foreach dir,$(INCDIRS),-I"$(shell pwd)/$(dir)")
|
|
|
|
|
|
|
|
ASFLAGS += $(SUBARCH) $(INCLUDE)
|
2019-03-14 15:33:39 +00:00
|
|
|
CFLAGS += $(SUBARCH) $(INCLUDE) -fno-builtin-memcpy
|
2017-11-09 01:24:46 +01:00
|
|
|
LDFLAGS += $(SUBARCH) -Wl,-Map,$(TARGET).map
|
|
|
|
|
|
|
|
include ../Makefile.common
|
|
|
|
|
|
|
|
OBJECTS = $(patsubst $(SOURCE)/%.s, $(BUILD)/%.o, \
|
|
|
|
$(patsubst $(SOURCE)/%.c, $(BUILD)/%.o, \
|
|
|
|
$(call rwildcard, $(SOURCE), *.s *.c)))
|
|
|
|
|
|
|
|
.PHONY: all
|
|
|
|
all: $(TARGET).elf
|
|
|
|
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
|
|
|
@rm -rf $(BUILD) $(TARGET).elf $(TARGET).map
|
|
|
|
|
|
|
|
$(TARGET).elf: $(OBJECTS)
|
|
|
|
@mkdir -p "$(@D)"
|
2018-03-20 00:56:37 +01:00
|
|
|
@$(CC) $(LDFLAGS) $^ -o $@
|
2017-11-09 01:24:46 +01:00
|
|
|
|
|
|
|
$(BUILD)/%.o: $(SOURCE)/%.c
|
|
|
|
@mkdir -p "$(@D)"
|
2018-03-20 00:56:37 +01:00
|
|
|
@echo "[$(PROCESSOR)] $<"
|
|
|
|
@$(CC) -c $(CFLAGS) -o $@ $<
|
2017-11-09 01:24:46 +01:00
|
|
|
|
|
|
|
$(BUILD)/%.o: $(SOURCE)/%.s
|
|
|
|
@mkdir -p "$(@D)"
|
2018-03-20 00:56:37 +01:00
|
|
|
@echo "[$(PROCESSOR)] $<"
|
|
|
|
@$(CC) -c $(ASFLAGS) -o $@ $<
|