#
#	This is the makefile for the driver software.
#	The default options ie CFLAGS LDFLAGS are set to
#	be generic.  The others are dependant upon the driver.
#
#	In the interest of helping someone, should you be hit by a
#	bus or something, please keep an assembly listing & map file
#	for any executables which are in use.  disk space is cheap!
#
#


MODEL=s
INCLUDE=../include 
LIB=../lib
#VERBOSE=-DDEBUGGING

#	286 code, SS != Dgroup, model, optimise to death!
#	Some drivers will *only* ever run on an AT or better 
#	we can rely on 286 code generation.

CODE286=-Wc,-2
CODEGEN=-Wc,-zu -m$(MODEL) -Oaxt
WARNINGS=-Wc,-w9


CFLAGS=$(CODEGEN) $(WARNINGS) -S -I$(INCLUDE)

SSIZE=-N 256
# allways generate a map file.
LDFLAGS=-m$(MODEL) -M -ldrvr -Wl,"op H=512"

#CC=export INCLUDE=$(INCLUDE); cc 
LD=export LIB=$(LIB): ; cc

SIM=../lib/sim_fsys.o
all: floppy aha wd ps2scsi ps2mfm ps2esdi qic02 qictest

AHAHDR=aha1540.h ahaextrn.h endian.h genscsi.h      
AHAOBJ=ahamain.o aha1540.o ahaextrn.o genscsi.o ahadrvr.o


aha: $(AHAOBJ)
	$(LD) $(LDFLAGS) $(AHAOBJ) -o $@
	usemsg aha ahamain.c
	
floppy: floppy.o nec765.o
	$(LD) $(LDFLAGS) floppy.o nec765.o -o $@
	usemsg floppy floppy.c

ps2mfm: ps2mfm.o
	$(LD) $(LDFLAGS) ps2mfm.o -o $@
	usemsg ps2mfm ps2mfm.c

ps2esdi: ps2esdi.o
	$(LD) $(LDFLAGS) ps2esdi.o $(ESDIOBJS) -o $@
	usemsg ps2esdi ps2esdi.c

ps2scsi: ps2scsi.o
	$(LD) $(LDFLAGS) ps2scsi.o -o $@
	usemsg ps2scsi ps2scsi.c

wd: wd.o
	$(LD) $(LDFLAGS) wd.o -o $@
	usemsg wd wd.c
	
#	qic02
qic02.o: qic02.c qic02.def qic02.typ
	$(CC) -g $(CFLAGS) -S qic02.c

qic02: qic02.o
	$(LD) $(LDFLAGS) qic02.o -o $@
	usemsg qic02 qic02.c

#	qictest
qictest.o:	qictest.c
	$(CC) $(CFLAGS) -S qictest.c

qictest:	qictest.o
	$(LD) $(LDFLAGS) qictest.o -o $@
	usemsg qictest qictest.c

#	must be ps2 50 or better!
ps2mfm.o ps2mfm.a: ps2mfm.c ps2mfm.h
	$(CC) $(CFLAGS) $(CODE286) -S ps2mfm.c

#	must be a ps2 50 or better!
ps2esdi.o ps2esdi.a: ps2esdi.c ps2esdi.h
	$(CC) $(CFLAGS) $(CODE286) -S ps2esdi.c

ps2scsi.o ps2scsi.a: ps2scsi.c ps2scsi.h
	$(CC) $(CFLAGS) $(CODE286) -S ps2scsi.c

floppy.o floppy.a: floppy.c floppy.h
	$(CC) $(CFLAGS) -S floppy.c

nec765.o nec765.a: nec765.c nec765.h
	$(CC) $(CFLAGS) nec765.c

wd.o: wd.c wd.h
	$(CC) $(CFLAGS) $(CODE286) -S wd.c

ahamain.o ahamain.a: ahamain.c $(AHAHDR)
	$(CC) $(CFLAGS) $(CODE286) $(VERBOSE) -S ahamain.c

aha1540.o aha1540.a: aha1540.c $(AHAHDR)
	$(CC) $(CFLAGS) $(CODE286) $(VERBOSE) -S aha1540.c

ahaextrn.o ahaextrn.a: ahaextrn.c $(AHAHDR)
	$(CC) $(CFLAGS) $(CODE286) $(VERBOSE) -S ahaextrn.c

ahadrvr.o ahadrvr.a: ahadrvr.c $(AHAHDR)
	$(CC) $(CFLAGS) $(CODE286) $(VERBOSE) -S ahadrvr.c

genscsi.o genscsi.a: genscsi.c $(AHAHDR)
	$(CC) $(CFLAGS) $(CODE286) $(VERBOSE) -S genscsi.c
	
