SCOPTS = RESOPT NOSTACKCHECK STRINGMERGE UNSIGNEDCHARS OPTSCHED\
NOCHECKABORT NOICONS MEMSIZE=HUGE DATA=FARONLY CODE=FAR DEBUG=SYMBOL\
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

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

EXAMPLE: LZX PackDev SuperDuper3 Tar xMash

DEPXPK: xadXPK.c
DEPSPR: xadSPrintF.c
DEPINP: xadGetChar.c xadGetBits1.c xadGetBits2.c xadInput.h
DEPCON: ConvertE.c

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

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

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

# ************* 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=$@

# ************* Arc

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

$(ODIR)Arc.o: Arc.c $(DEPCON)
	sc $(SCOPTS) Arc.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_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 $(DEPINP)
	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=$@

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

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

$(ODIR)LZX.o: LZX.c $(DEPCON)
	sc $(SCOPTS) LZX.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=$@

# ************* 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)
	sc $(SCOPTS) Zip.c OBJNAME=$@

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

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

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

