# makefile for sysmon.library and its support commands, (C) 1995-2000 by Etienne Vogt

.c.o:
	SC:c/sc $*.c

CFLAGS = STRMERGE NOSTKCHK NOCHKABORT SMALLCODE SMALLDATA NOICONS
LFLAGS = SMALLCODE SMALLDATA NOICONS
LIBOBJS = sysmon_lib.o sysmon_patches.o sysmon_server.o

# ----------------------------------------------------------------
sysmon.library		: $(LIBOBJS)
	SC:c/slink FROM $(LIBOBJS) TO $@ LIB LIB:amiga.lib $(LFLAGS)

sysmon_lib.o		: sysmon_lib.asm sysmon.i sysmon_rev.i
	SC:c/asm -iINCLUDE: -o$@ sysmon_lib.asm

sysmon_patches.o	: sysmon_patches.asm sysmon.i
	SC:c/asm -iINCLUDE: -o$@ sysmon_patches.asm

sysmon_server.o		: Sysmon_Server.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc Sysmon_Server.c $(CFLAGS) OPTIMIZE PARM=REGISTER

SetTrapVectors		: SetTrapVectors.o
	SC:c/slink FROM SetTrapVectors.o TO $@ LIB LIB:amiga.lib NOICONS

SetTrapVectors.o	: SetTrapVectors.asm
	SC:c/asm -iINCLUDE: -o$@ SetTrapVectors.asm


StartSM			: StartSM.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc StartSM.c $(CFLAGS) LINK NOSTARTUP
	Delete StartSM.(o|lnk)

Halt			: Halt.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc Halt.c $(CFLAGS) LINK NOSTARTUP
	Delete Halt.(o|lnk)

ShowSys			: ShowSys.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc ShowSys.c $(CFLAGS) OPTIMIZE LINK NOSTARTUP
	Delete ShowSys.(o|lnk)

Sysmon			: Sysmon.o SysmonSup.o
	SC:c/slink FROM LIB:c.o SysMon.o SysmonSup.o TO $@ LIB LIB:scmieee.lib LIB:sc.lib LIB:amiga.lib $(LFLAGS)

Sysmon.o		: SysMon.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc SysMon.c $(CFLAGS) MATH=IEEE OPTIMIZE PARM=REGISTER

SysmonSup.o		: SysMonSup.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc SysMonSup.c $(CFLAGS) MATH=IEEE OPTIMIZE PARM=REGISTER

Sysmon_D		: Sysmon_D.o SysmonSup_D.o
	SC:c/slink FROM LIB:c.o Sysmon_D.o SysmonSup_D.o TO Sysmon LIB LIB:scmieee.lib LIB:sc.lib LIB:amiga.lib $(LFLAGS)

Sysmon_D.o		: SysMon.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc SysMon.c $(CFLAGS) OBJNAME=$@ MATH=IEEE PARM=REGISTER

SysmonSup_D.o		: SysMonSup.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc SysMonSup.c $(CFLAGS) OBJNAME=$@ MATH=IEEE PARM=REGISTER

Timer			: Timer.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc Timer.c $(CFLAGS) MATH=IEEE PARM=REGISTER LINK
	Delete Timer.(o|lnk)

Freeze			: Freeze.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc Freeze.c $(CFLAGS) LINK NOSTARTUP
	Delete Freeze.(o|lnk)

UnFreeze		: UnFreeze.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc UnFreeze.c $(CFLAGS) LINK NOSTARTUP
	Delete UnFreeze.(o|lnk)

ValidateWait		: ValidateWait.c
	SC:c/sc ValidateWait.c $(CFLAGS) LINK NOSTARTUP
	Delete ValidateWait.(o|lnk)

UnMount			: UnMount.c
	SC:c/sc UnMount.c $(CFLAGS) LINK NOSTARTUP
	Delete UnMount.(o|lnk)

SysLog			: SysLog.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc SysLog.c $(CFLAGS) LINK NOSTARTUP
	Delete SysLog.(o|lnk)

Broadcast		: Broadcast.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc Broadcast.c $(CFLAGS) LINK NOSTARTUP
	Delete Broadcast.(o|lnk)

AlertDump		: AlertDump.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc AlertDump.c $(CFLAGS) LINK NOSTARTUP MCCONS
	Delete AlertDump.(o|lnk)

RunBackground		: RunBackground.c
	SC:c/sc RunBackground.c $(CFLAGS) LINK NOSTARTUP
	Delete RunBackground.(o|lnk)

Request			: Request.c
	SC:c/sc Request.c $(CFLAGS) LINK NOSTARTUP
	Delete Request.(o|lnk)

CDChange		: CDChange.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc CDChange.c $(CFLAGS) LINK NOSTARTUP
	Delete CDChange.(o|lnk)

sysmon_lib.doc		: sysmon_lib.asm
	TOOLS:devkit/autodoc >$@ -I -a sysmon_lib.asm

sysmon_pragmas.h	: sysmon_lib.fd
	SC:c/fd2pragma sysmon_lib.fd sysmon_pragmas.h

smtest			: smtest.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc smtest.c $(CFLAGS) LINK NOSTARTUP
	Delete smtest.(o|lnk)

BcMTest			: BcMTest.c sysmon.h sysmon_protos.h sysmon_pragmas.h
	SC:c/sc BcMTest.c $(CFLAGS) LINK NOSTARTUP
	Delete BcMTest.(o|lnk)
