mirror of
https://github.com/encounter/BootCtr9.git
synced 2026-03-30 11:03:49 -07:00
60 lines
1.3 KiB
Makefile
60 lines
1.3 KiB
Makefile
export PATH := $(DEVKITARM)/bin:$(PATH)
|
|
|
|
CC=arm-none-eabi-gcc
|
|
CP=arm-none-eabi-g++
|
|
OC=arm-none-eabi-objcopy
|
|
LD=arm-none-eabi-ld
|
|
MV=mv -f
|
|
RM=rm -rf
|
|
|
|
LIBNAME=screen_init
|
|
ELFNAME=$(LIBNAME).elf
|
|
BINNAME=$(LIBNAME).bin
|
|
DATNAME=$(LIBNAME).dat
|
|
|
|
SRC_DIR:=source/$(LIBNAME)
|
|
OBJ_DIR:=obj/$(LIBNAME)
|
|
LIB_DIR:=lib
|
|
DEP_DIR:=obj/$(LIBNAME)
|
|
|
|
LIBS=
|
|
CFLAGS=-std=gnu99 -Os -g -mword-relocations -fomit-frame-pointer -ffast-math
|
|
C9FLAGS=-mcpu=arm946e-s -march=armv5te -mlittle-endian
|
|
C11FLAGS=-mcpu=mpcore -mlittle-endian
|
|
LDFLAGS=$(LIBS)
|
|
OCFLAGS=--set-section-flags .bss=alloc,load,contents
|
|
|
|
OBJS:=$(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(wildcard $(SRC_DIR)/*.c))
|
|
OBJS+=$(patsubst $(SRC_DIR)/%.s, $(OBJ_DIR)/%.o, $(wildcard $(SRC_DIR)/*.s))
|
|
OBJS+=$(patsubst $(SRC_DIR)/%.S, $(OBJ_DIR)/%.o, $(wildcard $(SRC_DIR)/*.S))
|
|
|
|
OUT_DIR= obj/$(LIBNAME)
|
|
|
|
.PHONY: clean
|
|
|
|
all: screen_init.bin
|
|
|
|
screen_init.bin: $(OBJS)
|
|
$(CC) -nostartfiles --specs=$(LIBNAME).specs $(OBJS) $(LDFLAGS) -o $(ELFNAME)
|
|
$(OC) $(OCFLAGS) -O binary $(ELFNAME) $(BINNAME)
|
|
|
|
obj/%.o: source/%.c | dirs
|
|
@echo Compiling $<
|
|
$(CC) -c $(CFLAGS) $(C11FLAGS) $< -o $@
|
|
|
|
obj/%.o: source/%.s | dirs
|
|
@echo Compiling $<
|
|
$(CC) -c $(CFLAGS) $(C11FLAGS) $< -o $@
|
|
|
|
obj/%.o: source/%.S | dirs
|
|
@echo Compiling $<
|
|
$(CC) -c $(CFLAGS) $(C11FLAGS) $< -o $@
|
|
|
|
dirs: ${OUT_DIR}
|
|
|
|
${OUT_DIR}:
|
|
mkdir -p ${OUT_DIR}
|
|
|
|
clean:
|
|
rm -rf *.elf *.bin obj/*
|