CC = arm-none-eabi-gcc
OBJCOPY = arm-none-eabi-objcopy
MKIMAGE = mkimage
CFLAGS = -Wall -pedantic -Og -g -mcpu=cortex-a8 -Isrc/inc -nostdlib -ffreestanding
OFILES = \
src/i2c.o \
src/l.o \
src/main.o \
src/timer.o \
src/uxn.o \
src/dev/console.o \
src/dev/nil.o \
src/dev/screen.o \
src/dev/system.o
all: uxnemu.uimage
uxnemu.uimage: $(OFILES)
$(CC) $(CFLAGS) -T src/link.ld $(OFILES) -o uxnemu.elf -lgcc
$(OBJCOPY) uxnemu.elf -O binary uxnemu.bin
$(MKIMAGE) -A arm -T standalone -d uxnemu.bin -a 0x80200000 -n uxnemu -C none $@
clean:
rm -f uxnemu.* $(OFILES)
%.o: %.S
$(CC) $(CFLAGS) -c $< -o $@
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@