##############################################################################
#
#	$Id: a2024lmk,v 40.0 93/02/09 18:20:16 spence Exp $
#
##############################################################################

MODNAME	          = a2024
VERSION		  = 40

REMOTE		  = V$(VERSION):src/workbench/monitors

LD_FILE	          = $(MODNAME).ld
LD_STRIP          = $(MODNAME).ld.strip

C_COMPILER        = LC
C_COMPILER_OPTS   = -b0 -ms -v -rr -cfistqmc -d1 -O -dDO_A2024_MONITOR=1

ASSEMBLER         = CAsm -a
ASSEMBLER_OPTS    = -csy -i include: -o

LINKER            = Blink
LINKER_OPTS	  = ADDSYM SD SC
LINKER_OPTS_STRIP = ND

C_SOURCES   = addmonitor.c makeentry.c a2024.c
ASMSOURCES  = mspcinit.asm a2024driver.asm
OBJECTS     = addmonitora2024.o mspcinit.o mea2024.o a2024.o a2024driver.o
H_FILES     = a2024.h mspcinit.h a2024vb.h a2024vb.i
INTERNAL    = $(MODNAME)lmk $(C_SOURCES) $(ASMSOURCES) $(H_FILES) $(LD_STRIP) $(LD_FILE) $(MODNAME)_rev.rev
STARTUP     =
LIBS        = LIB:debug.lib LIB:lcr.lib LIB:amiga.lib

##############################################################################
# Build the stripped load file...
#
$(LD_STRIP):	$(LD_FILE)
		$(LINKER) FROM $(LD_FILE) TO $(LD_STRIP) $(LINKER_OPTS_STRIP)


##############################################################################
# Build the load file...
#
$(LD_FILE):	$(OBJECTS) $(LIBS)
		$(LINKER) FROM $(STARTUP) $(OBJECTS) TO $(LD_FILE) LIB $(LIBS) $(LINKER_OPTS)


##############################################################################
# Default rules...
#
.c.o:
	$(C_COMPILER) $(C_COMPILER_OPTS) $*.c

.asm.o:
	$(ASSEMBLER) $*.asm $(ASSEMBLER_OPTS) $*.o


##############################################################################
# All dependencies...
#
addmonitora2024.o: addmonitor.c mspcinit.h $(MODNAME)_rev.rev a2024.h
	$(C_COMPILER) $(C_COMPILER_OPTS) -oaddmonitora2024.o addmonitor.c
mspcinit.o: mspcinit.asm mspcinit.h
mea2024.o: makeentry.c a2024.h monitorstuff.h
	$(C_COMPILER) $(C_COMPILER_OPTS) -omea2024.o makeentry.c
a2024driver.o: a2024driver.asm a2024vb.i
a2024.o: a2024.c a2024vb.h

##############################################################################
# Bump the version...
#
version:
	@v:aug/bin/BumpRev $(VERSION) $(MODNAME)_rev


##############################################################################
# Delete all object files
#
clean:
	@Delete \#?.o $(LD_FILE) $(LD_STRIP) $(MODNAME).map


##############################################################################
# Release the current build to the server...
#
internal:
	@Protect ((\#?.(c|h|asm|i|ld|rev|doc))|lmkfile|$(LD_STRIP)) +rd quiet
	@Copy $(INTERNAL) $(REMOTE) NOPRO
