#	%W%	(%G% %U%)
#
SHELL=/bin/sh
#UNIXTYPE	= VERS7
UNIXTYPE	= SYSV

#DEFS	= -DENTERMON -D$(UNIXTYPE) -Dmc68000
DEFS	= -D$(UNIXTYPE) -Dmc68000 
CFLAGS	= -OBPS $(DEFS) -I/usr/src/uts/vm/include

OFILES  = start.o misc.o
LLIB	= -lc
SCCS	= ./sccs

PMADD	= 38000
CDADD	= 78000
TSTADD  = 78000

# 
# The following modules can be made:
#
#      *12Prf360 - CD68012 CPU, SMD 360MB disk and/or CWC 43 MB disk, Panel
#      *CDPrf360 - CD68K CPU, SMD 360MB disk and/or CWC 43 MB disk, Panel
#      *GRPrf360 - CD68K CPU w/ graphics modifications,
#		   SMD 360MB disk and/or CWC 43 MB disk, Panel
#	12cwc43 - CD68012 CPU, CWC 43 MB disk, no panel
#	CDcwc43 - CD68K CPU, CWC 43 MB disk, no panel
#	CDcwc38 - CD68K CPU, CWC 38 MB disk, no panel
#	CDcwc21 - CD68K CPU, CWC 21 MB disk, no panel
#
# * Definitely requires 27128 EPROMS (and changes to start.s)
#
# -------------------------- Obsolete below this line --------------------------
#
#	PMcwc43 - PM68K CPU, CWC 43 MB disk
#	PMcwc38 - PM68K CPU, CWC 38 MB disk
#	PMcwc21 - PM68K CPU, CWC 21 MB disk
#	PMmsc21 - PM68K CPU, MSC 21 MB disk
#	PMmsc10 - PM68K CPU, MSC 10 MB disk
#
# Module name schema:
#	
#		<CPU-type><Panel><Dominant-disk-controller><Disk-size>
#
#	CPU: 2 letters
#		12 - The Callan 68012 board, enhanced MMU
#		CD - The Callan 68010 board
#		GR - The Callan 68010 board modified for graphics output
#		PM - The Pacific Micro CPU, similar to SUN-1
#
#	Panel: 0-1 letter
#		P - Unistar 300 class, with Intelligent front panel
#		'' - Unistar 200 class, with no front panel
#			Systems with a front panel get messages on the LCD
#			display, and have panel-boot capability.
#
#	Dominant disk controller: 2-3 letters
#		rf - Ciprico Rimfire 50 SMD controller
#		cwc - Callan winchester controller
#		msc - Old winchester controller
#			The dominant disk controller is the one usually used
#			to boot from.  There may be more than one disk 
#			controller in a system; the dominant one is the default
#			one.  In the case of 'rf', the PROMS check for the 
#			existence of an 'rf' controller and boot from it if it 
#			exists.  If not, then the default controller becomes
#			'cwc' and it assumes a 43Mb disk size.
#
#	Disk size: 2-3 digits
#		360 - 360 Mb Fujitsu Eagle
#		43 - 43 Mb Micropolis
#		21 - 21 Mb Rodime
#		10 - 10 Mb (?)
#			This silly business of having to know the disk size 
#			before-hand is only because we haven't yet implemented
#			some sort of intelligent interrogation scheme, with 
#			the disk specific information contained on the disk
#			itself.

all:	12rf360 \
	CDrf360 \
	GRrf360 \
	CDcwc43 \
	PMcwc43 \
	CDcwc38 \
	PMcwc38 \
	CDcwc21 \
	PMcwc21 \
	PMmsc21 \
	PMmsc10


#      *testboot - CD68012 CPU, SMD 360MB disk and/or CWC 43 MB disk, Panel
testboot:    12machdep.o testmain.o $(OFILES) rffileio.o 12rf.o cdcwc.o  \
		12uartio.o ffboot.o cdcfc.o 12pcpd.o
	ld -o testboot -R $(TSTADD) $(OFILES) 12pmainrf360.o rffileio.o \
		12rf.o cdcwc.o ffboot.o cdcfc.o 12machdep.o 12uartio.o 12pcpd.o $(LLIB)

#      *GRPrf360 - CD68K CPU Modified for graphics,
#      *12Prf360 - CD68012 CPU, SMD 360MB disk and/or CWC 43 MB disk, Panel
12Prf360:    12machdep.o 12pmainrf360.o $(OFILES) rffileio.o 12rf.o cdcwc.o  \
		12uartio.o cdcfc.o 12pcpd.o
	ld -o 12Prf360 -R $(CDADD) $(OFILES) 12pmainrf360.o rffileio.o \
		12rf.o cdcwc.o cdcfc.o 12machdep.o 12uartio.o 12pcpd.o $(LLIB)
	a.out2prom 12Prf360

#      *GRPrf360 - CD68K CPU Modified for graphics,
#	SMD 360MB disk and/or CWC 43 MB disk, Panel
GRPrf360:   $(OFILES) cdpmainrf360.o rffileio.o cdrf.o cdcwc.o cdmachdep.o \
		grpuartio.o cdcfc.o cdpcpd.o
	ld -o GRPrf360 -R $(CDADD) $(OFILES) cdpmainrf360.o rffileio.o \
		cdrf.o cdcwc.o cdcfc.o cdmachdep.o grpuartio.o cdpcpd.o $(LLIB)
	a.out2prom GRPrf360

#      *CDPrf360 - CD68K CPU, SMD 360MB disk and/or CWC 43 MB disk, Panel
CDPrf360:   $(OFILES) cdpmainrf360.o rffileio.o cdrf.o cdcwc.o cdmachdep.o \
		cdpuartio.o cdcfc.o cdpcpd.o
	ld -o CDPrf360 -R $(CDADD) $(OFILES) cdpmainrf360.o rffileio.o \
		cdrf.o cdcwc.o cdcfc.o cdmachdep.o cdpuartio.o cdpcpd.o $(LLIB)
	a.out2prom CDPrf360

#	CDcwc43 - CD68K CPU, CWC 43 MB disk, no panel
CDcwc43:   $(OFILES) cdmaincwc43.o cwcfileio.o cdcwc.o cdmachdep.o cduartio.o \
		cdcfc.o 
	ld -o CDcwc43  -R $(CDADD) $(OFILES) cdmaincwc43.o \
		cwcfileio.o cdcwc.o cdcfc.o cdmachdep.o cduartio.o $(LLIB)
	a.out2prom CDcwc43

#	CDcwc38 - CD68K CPU, CWC 21 MB disk, no panel
CDcwc38:   $(OFILES) cdmaincwc38.o cwcfileio.o cdcwc.o cdmachdep.o cduartio.o \
 		cdcfc.o cpd.o
	ld -o CDcwc38  -R $(CDADD) $(OFILES) cdmaincwc38.o \
 	    cwcfileio.o cdcwc.o cdcfc.o cdmachdep.o cduartio.o cpd.o $(LLIB)

#	CDcwc21 - CD68K CPU, CWC 21 MB disk, no panel
CDcwc21:   $(OFILES) cdmaincwc21.o cwcfileio.o cdcwc.o cdmachdep.o cduartio.o \
		cdcfc.o 
	ld -o CDcwc21  -R $(CDADD) $(OFILES) cdmaincwc21.o \
	    cwcfileio.o cdcwc.o cdcfc.o cdmachdep.o cduartio.o $(LLIB)

PMcwc43:   $(OFILES) pmmaincwc43.o cwcfileio.o pmcwc.o pmmachdep.o pmuartio.o \
		pmcfc.o
	ld -o PMcwc43  -R $(PMADD) $(OFILES) pmmaincwc43.o \
	    cwcfileio.o pmcwc.o pmcfc.o pmmachdep.o pmuartio.o $(LLIB)

PMcwc38:   $(OFILES) pmmaincwc38.o cwcfileio.o pmcwc.o pmmachdep.o pmuartio.o \
 		pmcfc.o
	ld -o PMcwc38  -R $(PMADD) $(OFILES) pmmaincwc38.o \
 	    cwcfileio.o pmcwc.o pmcfc.o pmmachdep.o pmuartio.o $(LLIB)
 
PMcwc21:   $(OFILES) pmmaincwc21.o cwcfileio.o pmcwc.o pmmachdep.o pmuartio.o \
		pmcfc.o
	ld -o PMcwc21  -R $(PMADD) $(OFILES) pmmaincwc21.o \
	    cwcfileio.o pmcwc.o pmcfc.o pmmachdep.o pmuartio.o $(LLIB)

PMmsc21:  $(OFILES) pmmainmsc21.o mscfileio.o msc.o pmmachdep.o pmuartio.o \
		pmcfc.o
	ld -o PMmsc21  -R $(PMADD) $(OFILES) pmmainmsc21.o \
	    mscfileio.o msc.o pmcfc.o pmmachdep.o pmuartio.o $(LLIB)

PMmsc10:  $(OFILES) pmmainmsc10.o mscfileio.o msc.o pmmachdep.o pmuartio.o \
		pmcfc.o
	ld -o PMmsc10  -R $(PMADD) $(OFILES) pmmainmsc10.o \
	    mscfileio.o msc.o pmcfc.o pmmachdep.o pmuartio.o $(LLIB)


12pcpd.o: cpd.c standalone.h
	cc $(CFLAGS) -DCD68K -Dmc68012 -DPANEL -c cpd.c
	mv cpd.o 12pcpd.o

12rf.o:	rf.c standalone.h
	cc $(CFLAGS) -DCD68K -Dmc68012 -c rf.c
	mv rf.o 12rf.o

12machdep.o: machdep.c
	cc $(CFLAGS) -DCD68K -Dmc68012 -c machdep.c
	mv machdep.o 12machdep.o

12uartio.o:	uartio.c 
	cc $(CFLAGS) -DCD68K -DPANEL -Dmc68012 -c uartio.c
	mv uartio.o 12uartio.o

testmain.o: main.c standalone.h
	cc $(CFLAGS) -c -DCD68K -DFASTBOOT -DPANEL -Dmc68012 -DRF360 -DCWC43 main.c
	mv main.o testmain.o

12pmainrf360.o: main.c standalone.h
	cc $(CFLAGS) -c -DCD68K -DPANEL -Dmc68012 -DRF360 -DCWC43 main.c
	mv main.o 12pmainrf360.o

cdpcpd.o: cpd.c standalone.h
	cc $(CFLAGS) -DCD68K -Dmc68000 -DPANEL -c cpd.c
	mv cpd.o cdpcpd.o

cdcfc.o:	cfc.c standalone.h
	cc $(CFLAGS) -DCD68K -c cfc.c
	mv cfc.o cdcfc.o

ffboot.o:	ffboot.c	# fast floppy boot
		cc $(CFLAGS) -c ffboot.c

cdcwc.o:	cwc.c standalone.h
	cc $(CFLAGS) -DCD68K -c cwc.c
	mv cwc.o cdcwc.o

cdmachdep.o: machdep.c
	cc $(CFLAGS) -DCD68K -c machdep.c
	mv machdep.o cdmachdep.o

cdrf.o:	rf.c standalone.h
	cc $(CFLAGS) -DCD68K -c rf.c
	mv rf.o cdrf.o

grpuartio.o: uartio.c
	cc $(CFLAGS) -DCD68K -DGRAPHICS -c uartio.c
	mv uartio.o grpuartio.o

cdpuartio.o: uartio.c
	cc $(CFLAGS) -DCD68K -c uartio.c
	mv uartio.o cdpuartio.o

cduartio.o: uartio.c
	cc $(CFLAGS) -DCD68K -c uartio.c
	mv uartio.o cduartio.o

cdpmainrf360.o: main.c standalone.h
	cc $(CFLAGS) -c -DPANEL -DCD68K -DRF360 -DCWC43 main.c
	mv main.o cdpmainrf360.o

cdmaincwc43.o: main.c standalone.h
	cc $(CFLAGS) -c -DCD68K -DCWC43 main.c
	mv main.o cdmaincwc43.o

cdmaincwc38.o: main.c standalone.h
	cc $(CFLAGS) -c -DCD68K -DCWC38 main.c
	mv main.o cdmaincwc38.o
 
cdmaincwc21.o: main.c standalone.h
	cc $(CFLAGS) -c -DCD68K -DCWC21 main.c
	mv main.o cdmaincwc21.o

pmmachdep.o: machdep.c
	cc $(CFLAGS) -DPM68K -c machdep.c
	mv machdep.o pmmachdep.o

pmmaincwc43.o: main.c standalone.h
	cc $(CFLAGS) -c -DPM68K -DCWC43 main.c
	mv main.o pmmaincwc43.o

pmmaincwc38.o: main.c standalone.h
	cc $(CFLAGS) -c -DPM68K -DCWC38 main.c
	mv main.o pmmaincwc38.o

pmmaincwc21.o: main.c standalone.h
	cc $(CFLAGS) -c -DPM68K -DCWC21 main.c
	mv main.o pmmaincwc21.o

pmmainmsc21.o: main.c standalone.h
	cc $(CFLAGS) -c -DPM68K -DMSC21 main.c
	mv main.o pmmainmsc21.o

pmcfc.o:	cfc.c standalone.h
	cc $(CFLAGS) -DPM68K -c cfc.c
	mv cfc.o pmcfc.o

pmcwc.o:	cwc.c standalone.h
	cc $(CFLAGS) -DPM68K -c cwc.c
	mv cwc.o pmcwc.o

pmmainmsc10.o: main.c standalone.h
	cc $(CFLAGS) -c -DPM68K -DMSC10 main.c
	mv main.o pmmainmsc10.o

pmuartio.o: uartio.c
	cc $(CFLAGS) -DPM68K -c uartio.c
	mv uartio.o pmuartio.o

misc.o:	misc.c standalone.h
	cc $(CFLAGS) -c misc.c

rf.o:	rf.c standalone.h
	cc $(CFLAGS) -c rf.c

msc.o:	msc.c standalone.h
	cc $(CFLAGS) -c msc.c

start.o: start.s
	as -o start.o start.s

rffileio.o: fileio.c standalone.h
	cc $(CFLAGS) -c -DRF -DCWC fileio.c
	mv fileio.o rffileio.o

cwcfileio.o: fileio.c standalone.h
	cc $(CFLAGS) -c -DCWC fileio.c
	mv fileio.o cwcfileio.o

mscfileio.o: fileio.c standalone.h
	cc $(CFLAGS) -c -DMSC fileio.c
	mv fileio.o mscfileio.o

rf.s:	rf.c standalone.h
	cc $(CFLAGS) -DNOTDEF -DCD68K -S rf.c

