# ------------------------------------------------------------------
# MakeFile for:  Sys????.c files
# ------------------------------------------------------------------
#
LIBS = LIB:scm.lib,LIB:sc.lib,LIB:amiga.lib
#
LD = SLink FROM LIB:c.o LIB $(LIBS)
#
COpts = opt optsize nover cpu=68020 nostkchk ansi strmer ign=100,51 idir=INCLUDE:
#
DOpts = nover cpu=68020 dbg=sym nostkchk ansi strmer ign=100,225,51 idir=INCLUDE:
#
GLOB  = CPGM:GlobalObjects/CommonFuncs.o
#
FINALS = SystemViewer SysResident SysHardware SysScreens SysTasks \
 SysSemaphore SysMemory SysDevs Priority SysVectors SysPorts SysAssigns \
 SysInterrupt
#
#####################################################################

# -------------- Usage of the C.A.P.E. assembler: ------------------#

#####################################################################
#
AOPTS = -CLSV -E SysHardAsm.err -L SysHardAsm.list -I INCLUDE:
# CASM -a File.asm $(AOPTS) -o File.o
#
#####################################################################

# -------------- Final Targets: ------------------------------------#

#####################################################################
#
Production: $(FINALS)
  SMake SystemViewer
  SMake SysResident 
  SMake SysHardware 
  SMake SysScreens 
  SMake SysTasks
  SMake SysSemaphore
  SMake SysMemory 
  SMake SysDevs 
  SMake Priority 
  SMake SysVectors 
  SMake SysPorts 
  SMake SysAssigns
  SMake SysInterrupt
#
# ------------------------------------------------------------------
#
SystemViewer : SystemViewer.o $(GLOB)
   SLink FROM LIB:c.o $(GLOB) SystemViewer.o TO $@ LIB $(LIBS) STRIPDEBUG
#
SystemViewer.o : SystemViewer.c
  SC $(COpts) ign=147 SystemViewer.c
#
# ------------------------------------------------------------------
#
SysScreens.o : SysScreens.c SysInfoWindow.c SysLists.h
  SC $(COpts) ign=147 SysScreens.c
#
# ------------------------------------------------------------------
#
SysTasks.o : SysTasks.c SysLists.h
  SC $(COpts) ign=147 SysTasks.c
#
Priority.o : Priority.c SysLists.h
  SC $(COpts) ign=147 Priority.c
#
# -------- NOT DONE YET: -------------------------------------------
#
SysMounts: SysMountsD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysMountsD.o TO $@ STRIPDEBUG
#
# -------- NOT DONE YET: -------------------------------------------
#
SysFonts: SysFontsD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysFontsD.o TO $@ STRIPDEBUG
#
# -------- NOT DONE YET: -------------------------------------------
#
SysLocks: SysLocksD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysLocksD.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysResident: SysResidentD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysResidentD.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysHardware: SysHardwareD.o SysCommon.o SysHardAsm.o $(GLOB)
   $(LD) FROM SysCommon.o SysHardAsm.o $(GLOB) SysHardwareD.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysScreens: SysScreensDbg.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysScreensDbg.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysTasks: SysTasksDbg.o PriorityD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) PriorityD.o SysTasksDbg.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysSemaphore: SysSemaphoreDbg.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysSemaphoreDbg.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysMemory: SysMemoryDbg.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysMemoryDbg.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysDevs: SysDevsDbg.o PriorityD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) PriorityD.o SysDevsDbg.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
Priority: PriorityDbg.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) PriorityDbg.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysVectors: SysVectorsD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysVectorsD.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysPorts: SysPortsD.o PriorityD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o PriorityD.o $(GLOB) SysPortsD.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysAssigns: AddAssign.o SysAssignsD.o SysCommon.o $(GLOB)
   $(LD) FROM AddAssign.o SysCommon.o $(GLOB) SysAssignsD.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
SysInterrupt: SysInterruptDbg.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysInterruptDbg.o TO $@ STRIPDEBUG
#
# ------------------------------------------------------------------
#
#####################################################################
# -------------- Debugging targets: --------------------------------#
#####################################################################
#
SystemViewerDBG : SystemViewerDBG.o $(GLOB)
   $(LD) FROM $(GLOB) SystemViewerDBG.o TO $@
#
SystemViewerDBG.o : SystemViewer.c
  SC $(DOpts) ign=147 objname=SystemViewerDBG.o SystemViewer.c
#
# ------------------------------------------------------------------
#
SysMountsDBG : SysMountsD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysMountsD.o TO $@
#
SysMountsD.o : SysMounts.c SysLists.h
  SC $(DOpts) define DEBUG=1 ign=147 objname=SysMountsD.o SysMounts.c
#
# ------------------------------------------------------------------
#
SysFontsDBG : SysFontsD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysFontsD.o TO $@
#
SysFontsD.o : SysFonts.c SysLists.h
  SC $(DOpts) define DEBUG=1 ign=147 objname=SysFontsD.o SysFonts.c
#
# ------------------------------------------------------------------
#
SysLocksDBG : SysLocksD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysLocksD.o TO $@
#
SysLocksD.o : SysLocks.c SysLists.h
  SC $(DOpts) define DEBUG=1 ign=147 objname=SysLocksD.o SysLocks.c
#
# ------------------------------------------------------------------
#
SysResidentDBG : SysResidentD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysResidentD.o TO $@
#
SysResidentD.o : SysResident.c SysLists.h
  SC $(DOpts) define DEBUG=1 ign=147 objname=SysResidentD.o SysResident.c
#
# ------------------------------------------------------------------
#
SysHardwareDBG : SysHardwareD.o SysCommon.o SysHardAsm.o $(GLOB)
   $(LD) FROM SysCommon.o SysHardAsm.o $(GLOB) SysHardwareD.o TO $@
#
SysHardwareD.o : SysHardware.c SysLists.h
  SC $(DOpts) define DEBUG=1 ign=147 objname=SysHardwareD.o SysHardware.c
#
SysHardAsm.o: SysHardAsm.asm
  CASM -a SysHardAsm.asm $(AOPTS) -o SysHardAsm.o
#
# ------------------------------------------------------------------
#
SysScreensDbg : SysScreensDbg.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysScreensDbg.o TO $@
#
SysScreensDbg.o : SysScreens.c SysLists.h
  SC $(DOpts) ign=147 define DEBUG=1 objname=SysScreensDbg.o SysScreens.c
#
# ------------------------------------------------------------------
#
SysTasksDbg : SysTasksDbg.o PriorityD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) PriorityD.o SysTasksDbg.o TO $@
#
SysTasksDbg.o : SysTasks.c SysLists.h
  SC $(DOpts) ign=147 define DEBUG=1 objname=SysTasksDbg.o SysTasks.c
#
# ------------------------------------------------------------------
#
SysSemaphoreDbg : SysSemaphoreDbg.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysSemaphoreDbg.o TO $@
#
SysSemaphoreDbg.o : SysSemaphore.c SysLists.h
  SC $(DOpts) ign=147 define DEBUG=1 objname=SysSemaphoreDbg.o SysSemaphore.c
#
# ------------------------------------------------------------------
#
SysMemoryDbg : SysMemoryDbg.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysMemoryDbg.o TO $@
#
SysMemoryDbg.o : SysMemory.c SysLists.h
  SC $(DOpts) ign=147 define DEBUG=1 objname=SysMemoryDbg.o SysMemory.c
#
# ------------------------------------------------------------------
#
SysDevsDbg : SysDevsDbg.o PriorityD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) PriorityD.o SysDevsDbg.o TO $@
#
SysDevsDbg.o : SysDevs.c SysLists.h
  SC $(DOpts) ign=147 define DEBUG=1 objname=SysDevsDbg.o SysDevs.c
#
PriorityD.o : Priority.c SysLists.h
  SC $(DOpts) ign=147 objname=PriorityD.o Priority.c
#
# ------------------------------------------------------------------
#
PriorityDBG : PriorityDbg.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) PriorityDbg.o TO $@
#
PriorityDbg.o : SysDevs.c SysLists.h
  SC $(DOpts) ign=147 define DEBUG=1 objname=PriorityDBG.o Priority.c
#
# ------------------------------------------------------------------
#
SysVectorsDBG : SysVectorsD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysVectorsD.o TO $@
#
SysVectorsD.o : SysVectors.c SysLists.h
  SC $(DOpts) ign=147 define DEBUG=1 objname=SysVectorsD.o SysVectors.c
#
# ------------------------------------------------------------------
#
SysPortsDBG : SysPortsD.o PriorityD.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o PriorityD.o $(GLOB) SysPortsD.o TO $@
#
SysPortsD.o : SysPorts.c SysLists.h
  SC $(DOpts) ign=147 objname=SysPortsD.o SysPorts.c
#
# ------------------------------------------------------------------
#
SysAssignsDBG : AddAssign.o SysAssignsD.o SysCommon.o $(GLOB)
   $(LD) FROM AddAssign.o SysCommon.o $(GLOB) SysAssignsD.o TO $@
#
SysAssignsD.o : SysAssigns.c SysLists.h
  SC $(DOpts) ign=147 objname=SysAssignsD.o SysAssigns.c
#
AddAssign.o : AddAssign.c
  SC $(DOpts) ign=147 objname=AddAssign.o AddAssign.c
#
# ------------------------------------------------------------------
# ADD PriorityD.o later!
#
SysInterruptDbg : SysInterruptDbg.o SysCommon.o $(GLOB)
   $(LD) FROM SysCommon.o $(GLOB) SysInterruptDbg.o TO $@
#
SysInterruptDbg.o : SysInterrupt.c SysLists.h
  SC $(DOpts) ign=147 define DEBUG=1 objname=SysInterruptDbg.o SysInterrupt.c
#
# ------------------------------------------------------------------
#
SysCommon.o : SysCommon.c SysLists.h
  SC $(DOpts) SysCommon.c
#
# ------------------------------------------------------------------
#
MemoryChecker : MemoryChecker.o
   $(LD) FROM MemoryChecker.o TO $@
#
MemoryChecker.o : MemoryChecker.c
  SC $(DOpts) ign=147 MemoryChecker.c
#
# ------------------------------------------------------------------
#
ChkCACR : ChkCACR.o
   $(LD) FROM ChkCACR.o TO $@
#
ChkCACR.o : ChkCACR.c
  SC $(DOpts) ign=147 ChkCACR.c
#
# -------------- Defaults: -----------------------------------------
#
.c.o:
  SC $(COpts) $*
#
