Files
BaS_gcc/BaS_GNU/Makefile
2012-10-12 06:49:15 +00:00

57 lines
1.1 KiB
Makefile

#
# Makefile for Firebee BaS
#
# requires the GNU toolchain
# either the m68k-atari-mint version which allows creating the binaries
#
# or
#
# the m68k-elf version which also allows to use gdb together with bdm tools for debugging
#
TCPREFIX=m68k-atari-mint-
CC=$(TCPREFIX)gcc
LD=$(TCPREFIX)ld
INCLUDE=-Iinclude
CFLAGS=-mcfv4e -Wno-multichar -Os -fomit-frame-pointer
#CFLAGS=-mcfv4e -Wno-multichar -S -O3 -fomit-frame-pointer
SRCDIR=sources
OBJDIR=objs
EXEC=bas.hex
CSRCS= \
$(SRCDIR)/sysinit.c \
$(SRCDIR)/BaS.c \
$(SRCDIR)/sd_card.c \
$(SRCDIR)/last.c
ASRCS= \
$(SRCDIR)/startcf.S \
$(SRCDIR)/mmu.S \
$(SRCDIR)/exceptions.S \
$(SRCDIR)/supervisor.S \
$(SRCDIR)/ewf.S \
$(SRCDIR)/illegal_instruction.S
COBJS=$(patsubst $(SRCDIR)/%.o,$(OBJDIR)/%.o,$(patsubst %.c,%.o,$(CSRCS)))
AOBJS=$(patsubst $(SRCDIR)/%.o,$(OBJDIR)/%.o,$(patsubst %.S,%.o,$(ASRCS)))
OBJS=$(COBJS) $(AOBJS)
all: $(EXEC)
$(EXEC): $(OBJS)
echo "generating executable"
clean:
rm $(EXEC) *.o
.c.o:
$(CC) -c $(CFLAGS) $(INCLUDE) $< -o $@
.S.o:
$(CC) -c $(CFLAGS) $(INCLUDE) $< -o $@