blob: fb44832c70aa82f2f657f99269a53b9fef5cb1c7 [file] [log] [blame]
# Project settings ----------------------------------------------
OBJECTS=obj/$(TARGET)/main.o obj/$(TARGET)/pff.o obj/$(TARGET)/diskio.o
CFLAGS=-Os -std=gnu99 -Wall
ifeq ($(TARGET),TO8)
CFLAGS += -DPLATFORM=8
else
ifeq ($(TARGET),MO5)
CFLAGS += -DPLATFORM=5
else
# No target defined. Fail.
all:
echo "make TARGET=MO5 or make TARGET=TO8"
false
endif
endif
# System settings -----------------------------------------------
PREFIX=m6809-thomson-none
CC=$(PREFIX)-gcc
AS=$(PREFIX)-as
LIBPATH=$(shell dirname `which m6809-thomson-none-gcc`)/../lib/gcc/m6809-thomson-none/4.6.1/
# Generic rules -------------------------------------------------
# HFE disk image (for HxC FE)
AUTOBOOT.HFE: out.sap
hxcfe -finput:out.sap -conv:HXC_HFE -foutput:AUTOBOOT.HFE
# Disk Image
out.sap: TEST.BIN
cp DOS-MO.SAP $@
sapfs -a $@ $<
# Linking
TEST.BIN TEST.map: $(OBJECTS) TEST.script
#$(CC) -v -Os $(OBJECTS) -o TEST.BIN -Wl,--map -Wl,-m -Wl,-Ttext,0x6100 -nostdlib -lgcc
lwlink --decb $(OBJECTS) --output=TEST.BIN --map=TEST.map --script=TEST.script --library-path=$(LIBPATH) --library-path=/boot/home/config/m6809-thomson/lib -lgcc
#Compiling
obj/$(TARGET)/%.o: %.c obj/$(TARGET)
$(CC) -save-temps $(CFLAGS) -c $< -o $@
obj/$(TARGET)/%.o: pff/%.c obj/$(TARGET)
$(CC) $(CFLAGS) -c $< -o $@
obj/$(TARGET)/%.o: %.s obj/$(TARGET)
$(AS) $< -o $@
# init
obj/$(TARGET):
mkdir -p obj/$(TARGET)