libJelling-calc/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