SCOPTS = RESOPT NOSTACKCHECK STRINGMERGE UNSIGNEDCHARS OPTSCHED\
NOCHECKABORT NOICONS MEMSIZE=HUGE DATA=FARONLY CODE=FAR\
PARAM=REGISTERS DEFINE=__NOLIBBASE__ \
OPTIMIZE OPTIMIZERTIME OPTIMIZERLOOP OPTSCHEDULE OPTINLOCAL

ODIR = //obj/clients/
HEAD = $(ODIR)extheader.o

SLOPTS = STRIPDEBUG SMALLDATA SMALLCODE NOICONS FROM $(HEAD)
SDILIB = LIB:SDI_ASM_STD_functions.lib
FARLIB = LIB:scnb.lib

# *************
#
# These examples are from my normal client directory used for
# xadmaster.library. Example sources are only some of them.
#
# To make the files set ODIR to a useful directory on your machine
# and call "smake EXAMPLE".
#

# *************

EXTERN: LZX Zoom HA

ALL: EXTERN Ace AMPK CrunchDisk DMS IFF-CDAF FS_Amiga \
     FS_FAT FS_SOS LhA LhF MDC MXM-SimpleArc \
     PackDev PackDisk StuffIt SuperDuper3 Tar xDisk xMash \
     Zip

EXAMPLE: LZX HA PackDev SuperDuper3 Tar xMash

DEPXPK = xadXPK.c
DEPSPR = xadSPrintF.c
DEPINP = xadIO.c xadIO.h
DEPCON = ConvertE.c
DEPNAM = xadConvName.c
DEPCPU = xadCPU.h

Flush:
	Tools:AntiVirus/Schutz/VT.Utilities/VTFlush2

Install: EXTERN Flush
	Copy $(ODIR) PATTERN ~(\#?.\#?) ALL LIBS:xad

Install060: Flush
	Copy $(ODIR) PATTERN \#?.060 ALL LIBS:xad

HA:		HA.000 HA.020 HA.060
HA.000:		$(ODIR)HA.000
HA.020:		$(ODIR)HA.020
HA.060:		$(ODIR)HA.060

LZX:		LZX.000 LZX.020 LZX.060
LZX.000:	$(ODIR)LZX.000
LZX.020:	$(ODIR)LZX.020
LZX.060:	$(ODIR)LZX.060

Zoom:		Zoom.000 Zoom.020 Zoom.060
Zoom.000:	$(ODIR)Zoom.000
Zoom.020:	$(ODIR)Zoom.020
Zoom.060:	$(ODIR)Zoom.060

Ace:		$(ODIR)Ace
AMPK:		$(ODIR)AMPK
CrunchDisk:	$(ODIR)CrunchDisk
DMS:		$(ODIR)DMS
IFF-CDAF:	$(ODIR)IFF-CDAF
FS_Amiga:	$(ODIR)FS_Amiga
FS_FAT:		$(ODIR)FS_FAT
FS_SOS:		$(ODIR)FS_SOS
LhA:		$(ODIR)LhA
LhF:		$(ODIR)LhF
MDC:		$(ODIR)MDC
MXM-SimpleArc:	$(ODIR)MXM-SimpleArc
PackDev:	$(ODIR)PackDev
PackDisk:	$(ODIR)PackDisk
StuffIt:	$(ODIR)StuffIt
SuperDuper3:	$(ODIR)SuperDuper3
Tar:		$(ODIR)Tar
xDisk:		$(ODIR)xDisk
xMash:		$(ODIR)xMash
Zip:		$(ODIR)Zip

# ************* global header

$(HEAD): extheader.c
	sc $(SCOPTS) $? OBJNAME=$@

# ************* Ace

$(ODIR)Ace: $(HEAD) $(ODIR)Ace.o
	slink $(SLOPTS) $(ODIR)Ace.o TO $@ LIB $(SDILIB) $(FARLIB)

$(ODIR)Ace.o: Ace.c $(DEPCON)
	sc $(SCOPTS) Ace.c OBJNAME=$@

# ************* AMPK

$(ODIR)AMPK: $(HEAD) $(ODIR)AMPK.o
	slink $(SLOPTS) $(ODIR)AMPK.o TO $@ LIB $(FARLIB) $(SDILIB)

$(ODIR)AMPK.o: AMPK.c $(DEPXPK) $(DEPINP) $(DEPCON)
	sc $(SCOPTS) AMPK.c OBJNAME=$@

# ************* CrunchDisk

$(ODIR)CrunchDisk: $(HEAD) $(ODIR)CrunchDisk.o
	slink $(SLOPTS) $(ODIR)CrunchDisk.o TO $@ LIB $(FARLIB)

$(ODIR)CrunchDisk.o: CrunchDisk.c $(DEPXPK)
	sc $(SCOPTS) CrunchDisk.c OBJNAME=$@

# ************* DMS

$(ODIR)DMS: $(HEAD) $(ODIR)DMS.o
	slink $(SLOPTS) $(ODIR)DMS.o TO $@ LIB $(FARLIB) $(SDILIB)

$(ODIR)DMS.o: DMS.c
	sc $(SCOPTS) DMS.c OBJNAME=$@

# ************* FS_Amiga

$(ODIR)FS_Amiga: $(HEAD) $(ODIR)FS_Amiga.o
	slink $(SLOPTS) $(ODIR)FS_Amiga.o TO $@ LIB $(SDILIB) $(FARLIB)

$(ODIR)FS_Amiga.o: FS_Amiga.c
	sc $(SCOPTS) FS_Amiga.c OBJNAME=$@

# ************* FS_FAT

$(ODIR)FS_FAT: $(HEAD) $(ODIR)FS_FAT.o
	slink $(SLOPTS) $(ODIR)FS_FAT.o TO $@ LIB $(SDILIB) $(FARLIB)

$(ODIR)FS_FAT.o: FS_FAT.c $(DEPCON)
	sc $(SCOPTS) FS_FAT.c OBJNAME=$@

# ************* FS_SOS

$(ODIR)FS_SOS: $(HEAD) $(ODIR)FS_SOS.o
	slink $(SLOPTS) $(ODIR)FS_SOS.o TO $@ LIB $(SDILIB)

$(ODIR)FS_SOS.o: FS_SOS.c $(DEPCON)
	sc $(SCOPTS) FS_SOS.c OBJNAME=$@

# ************* IFF-CDAF

$(ODIR)IFF-CDAF: $(HEAD) $(ODIR)IFF-CDAF.o
	slink $(SLOPTS) $(ODIR)IFF-CDAF.o TO $@ LIB $(FARLIB)

$(ODIR)IFF-CDAF.o: IFF-CDAF.c $(DEPXPK) $(DEPCON)
	sc $(SCOPTS) IFF-CDAF.c OBJNAME=$@

# ************* LhA

$(ODIR)LhA: $(HEAD) $(ODIR)LhA.o
	slink $(SLOPTS) $(ODIR)LhA.o TO $@ LIB $(SDILIB)

$(ODIR)LhA.o: LhA.c $(DEPCON) $(DEPINP)
	sc $(SCOPTS) LhA.c OBJNAME=$@

# ************* LhF

$(ODIR)LhF: $(HEAD) $(ODIR)LhF.o
	slink $(SLOPTS) $(ODIR)LhF.o TO $@ LIB $(SDILIB)

$(ODIR)LhF.o: LhF.c
	sc $(SCOPTS) LhF.c OBJNAME=$@

# ************* MXM-SimpleArc

$(ODIR)MXM-SimpleArc: $(HEAD) $(ODIR)MXM-SimpleArc.o
	slink $(SLOPTS) $(ODIR)MXM-SimpleArc.o TO $@ LIB $(SDILIB)

$(ODIR)MXM-SimpleArc.o: MXM-SimpleArc.c
	sc $(SCOPTS) MXM-SimpleArc.c OBJNAME=$@

# ************* MDC

$(ODIR)MDC: $(HEAD) $(ODIR)MDC.o
	slink $(SLOPTS) $(ODIR)MDC.o TO $@ LIB $(FARLIB)

$(ODIR)MDC.o: MDC.c $(DEPXPK)
	sc $(SCOPTS) MDC.c OBJNAME=$@

# ************* PackDev

$(ODIR)PackDev: $(HEAD) $(ODIR)PackDev.o
	slink $(SLOPTS) $(ODIR)PackDev.o TO $@ LIB $(FARLIB) $(SDILIB)

$(ODIR)PackDev.o: PackDev.c $(DEPXPK)
	sc $(SCOPTS) PackDev.c OBJNAME=$@

# ************* PackDisk

$(ODIR)PackDisk: $(HEAD) $(ODIR)PackDisk.o
	slink $(SLOPTS) $(ODIR)PackDisk.o TO $@

$(ODIR)PackDisk.o: PackDisk.c $(DEPXPK) $(DEPCON)
	sc $(SCOPTS) PackDisk.c OBJNAME=$@

# ************* StuffIt

$(ODIR)StuffIt: $(HEAD) $(ODIR)StuffIt.o
	slink $(SLOPTS) $(ODIR)StuffIt.o TO $@ LIB $(FARLIB) $(SDILIB)

$(ODIR)StuffIt.o: StuffIt.c $(DEPCON) $(DEPINP)
	sc $(SCOPTS) StuffIt.c OBJNAME=$@

# ************* SuperDuper3

$(ODIR)SuperDuper3: $(HEAD) $(ODIR)SuperDuper3.o
	slink $(SLOPTS) $(ODIR)SuperDuper3.o TO $@

$(ODIR)SuperDuper3.o: SuperDuper3.c $(DEPXPK)
	sc $(SCOPTS) $? OBJNAME=$@

# ************* Tar

$(ODIR)Tar: $(HEAD) $(ODIR)Tar.o
	slink $(SLOPTS) $(ODIR)Tar.o TO $@ LIB $(SDILIB)

$(ODIR)Tar.o: Tar.c
	sc $(SCOPTS) Tar.c OBJNAME=$@

# ************* xDisk

$(ODIR)xDisk: $(HEAD) $(ODIR)xDisk.o
	slink $(SLOPTS) $(ODIR)xDisk.o TO $@ LIB $(FARLIB)

$(ODIR)xDisk.o: xDisk.c $(DEPXPK)
	sc $(SCOPTS) xDisk.c OBJNAME=$@

# ************* xMash

$(ODIR)xMash: $(HEAD) $(ODIR)xMash.o
	slink $(SLOPTS) $(ODIR)xMash.o TO $@

$(ODIR)xMash.o: xMash.c $(DEPXPK)
	sc $(SCOPTS) xMash.c OBJNAME=$@

# ************* Zip

$(ODIR)Zip: $(HEAD) $(ODIR)Zip.o
	slink $(SLOPTS) $(ODIR)Zip.o TO $@ LIB $(FARLIB) $(SDILIB)

$(ODIR)Zip.o: Zip.c $(DEPCON) $(DEPSPR) $(DEPNAM)
	sc $(SCOPTS) Zip.c OBJNAME=$@




# ************* HA

$(ODIR)HA.000: $(HEAD) $(ODIR)HA.000.o
	slink $(SLOPTS) $(ODIR)HA.000.o TO $@ LIB $(FARLIB)

$(ODIR)HA.000.o: HA.c $(DEPCON) $(DEPCPU)
	sc $(SCOPTS) HA.c OBJNAME=$@

$(ODIR)HA.020: $(HEAD) $(ODIR)HA.020.o
	slink $(SLOPTS) $(ODIR)HA.020.o TO $@

$(ODIR)HA.020.o: HA.c $(DEPCON) $(DEPCPU)
	sc $(SCOPTS) HA.c OBJNAME=$@ CPU=68020

$(ODIR)HA.060: $(HEAD) $(ODIR)HA.060.o
	slink $(SLOPTS) $(ODIR)HA.060.o TO $@

$(ODIR)HA.060.o: HA.c $(DEPCON) $(DEPCPU)
	sc $(SCOPTS) HA.c OBJNAME=$@ CPU=68060

# ************* LZX

$(ODIR)LZX.000: $(HEAD) $(ODIR)LZX.000.o
	slink $(SLOPTS) $(ODIR)LZX.000.o TO $@

$(ODIR)LZX.000.o: LZX.c $(DEPCON) $(DEPCPU)
	sc $(SCOPTS) LZX.c OBJNAME=$@

$(ODIR)LZX.020: $(HEAD) $(ODIR)LZX.020.o
	slink $(SLOPTS) $(ODIR)LZX.020.o TO $@

$(ODIR)LZX.020.o: LZX.c $(DEPCON) $(DEPCPU)
	sc $(SCOPTS) LZX.c OBJNAME=$@ CPU=68020

$(ODIR)LZX.060: $(HEAD) $(ODIR)LZX.060.o
	slink $(SLOPTS) $(ODIR)LZX.060.o TO $@

$(ODIR)LZX.060.o: LZX.c $(DEPCON) $(DEPCPU)
	sc $(SCOPTS) LZX.c OBJNAME=$@ CPU=68060

# ************* Zoom

$(ODIR)Zoom.000: $(HEAD) $(ODIR)Zoom.000.o
	slink $(SLOPTS) $(ODIR)Zoom.000.o TO $@ LIB $(FARLIB)

$(ODIR)Zoom.000.o: Zoom.c $(DEPSPR) $(DEPCPU)
	sc $(SCOPTS) Zoom.c OBJNAME=$@

$(ODIR)Zoom.020: $(HEAD) $(ODIR)Zoom.020.o
	slink $(SLOPTS) $(ODIR)Zoom.020.o TO $@ LIB $(FARLIB)

$(ODIR)Zoom.020.o: Zoom.c $(DEPSPR) $(DEPCPU)
	sc $(SCOPTS) Zoom.c OBJNAME=$@ CPU=68020

$(ODIR)Zoom.060: $(HEAD) $(ODIR)Zoom.060.o
	slink $(SLOPTS) $(ODIR)Zoom.060.o TO $@ LIB $(FARLIB)

$(ODIR)Zoom.060.o: Zoom.c $(DEPSPR) $(DEPCPU)
	sc $(SCOPTS) Zoom.c OBJNAME=$@ CPU=68060


