33 lines
834 B
Makefile
33 lines
834 B
Makefile
|
CC = sh3eb-elf-gcc
|
||
|
SRCDIR = src
|
||
|
INCLDIR = include
|
||
|
LIBDIR = libs
|
||
|
EXTENSIONS = c cpp s
|
||
|
LIBS = -lgcc -lmonochrome -lfx
|
||
|
WFLAGS = -W -Wall -Werror -Wextra
|
||
|
CFLAGS = -m3 -mb -O2 -fno-exceptions -ffreestanding -I $(INCLDIR) $(WFLAGS)
|
||
|
LFLAGS = -nostdlib -T addin.ld -L $(LIBDIR) $(LIBS)
|
||
|
SRCS := $(SRCS) $(foreach EXT,$(EXTENSIONS),$(wildcard $(SRCDIR)/*.$(EXT)))
|
||
|
OBJS := $(OBJS) $(foreach EXT,$(EXTENSIONS),$(patsubst $(SRCDIR)/%.$(EXT),%.o,$(wildcard $(SRCDIR)/*.$(EXT))))
|
||
|
OUT = addin
|
||
|
|
||
|
all : $(OUT).g1a
|
||
|
|
||
|
$(OUT).g1a : $(OUT).bin
|
||
|
g1a-wrapper $(OUT).bin -o $(OUT).g1a -i icon.bmp
|
||
|
|
||
|
$(OUT).bin : $(OUT).elf
|
||
|
sh3eb-elf-objcopy -R .bss -O binary $(OUT).elf $(OUT).bin
|
||
|
|
||
|
$(OUT).elf : $(OBJS)
|
||
|
$(CC) -o $@ $^ $(LFLAGS)
|
||
|
|
||
|
$(OBJS) : $(SRCDIR)/$(SRCS)
|
||
|
$(CC) -c $(SRCS) $(CFLAGS)
|
||
|
|
||
|
clean :
|
||
|
rm -f *.o
|
||
|
|
||
|
cleaner :
|
||
|
rm -f *.o $(OUT).elf $(OUT).g1a $(OUT).bin
|