#
# SEGA SATURN Graphic library make file for GNU
# macro
CC = sh-coff-gcc
AS = gasm
LD = sh-coff-ld
RM = rm
CONV = sh-coff-objcopy
# directory
SGLDIR = /saturn/dev/saturn
SGLIDR = $(SGLDIR)/inc
SGLLDR = $(SGLDIR)/lib
CMNDIR = ../common
####OBJECTS = ./saturn/obj
OBJECTS = ./objects
# option
#-mspace
#CCFLAGS = -m2 -O4 -c -I. -I./cpu
#CCFLAGS = -m2 -O3 -fomit-frame-pointer -c -I. -I./cpu -IH:/saturn/SBL6/SEGASMP/PER/SMPCLIB
CCFLAGS = -m2 -O3 -fomit-frame-pointer -Wall -c -IH:/saturn/SBL6/SEGASMP/PER/SMPCLIB -I. -I./cpu
# -m2 must be specified in LDFLAGS so the linker will search the SH2 lib dirs
# Specify path of libsgl.a by using "-L" option
LDFLAGS = -m2 -L$(SGLLDR) -Xlinker -T$(LDFILE) -Xlinker -Map \
-Xlinker $(MPFILE) -Xlinker -e -Xlinker START -nostartfiles
DFLAGS =
# source_program
include $(OBJECTS)
TARGET = root/sl.coff
TARGET1 = root/sl.bin
LDFILE = ./$(TARGET:.coff=.lnk)
MPFILE = $(TARGET:.coff=.map)
MAKEFILE = Makefile
all: $(TARGET) $(TARGET1)
$(OBJS) $(LIBS)
# Use gcc to link so it will automagically find correct libs directory
$(TARGET) : $(SYSOBJS) $(OBJS) $(MAKEFILE) $(OBJECTS) $(LDFILE)
$(CC) $(LDFLAGS) $(SYSOBJS) $(OBJS) $(LIBS) -o $@
$(TARGET1) : $(SYSOBJS) $(OBJS) $(MAKEFILE) $(LDFILE)
$(CONV) -O binary $(TARGET) $(TARGET1)
# suffix
.SUFFIXES: .asm
.c.o:
$(CC) $< $(DFLAGS) $(CCFLAGS) -o $@
clean:
$(RM) $(OBJS) $(TARGET:.coff=.*)