#
# $Source: hog:Other/networking/sana2/src/slip/RCS/lmkfile,v $
# $State: Exp $
# $Revision: 37.2 $
# $Date: 92/08/25 16:46:05 $
# $Author: kcd $
#
# Amiga CD32 MPEG Device Driver.
#
# (C) Copyright 1993 Commodore-Amiga, Inc.
#
#

MODNAME             = cd32mpeg
VERSION             = 40

REMOTE		    = HOG:Other/cd32mpeg

LD_FILE             = $(MODNAME).ld
LD_FILE_OLD         = $(MODNAME)_old.ld
LD_STRIP            = $(MODNAME).ld.strip
LD_STRIP_OLD	    = $(MODNAME)_old.ld.strip

C_COMPILER          = SC
C_COMPILER_OPTS     = NOVERS NOSTKCHK OPT OPTTIME DATA=FARONLY STRMERGE PARM=REGISTER DEBUG=LINE MEMSIZE=HUGE

ASSEMBLER           = hx68 -a
ASSEMBLER_OPTS      = -cqsy -i include: -o

LINKER              = Slink
LINKER_OPTS         = ADDSYM MAP $(MODNAME).map HLSXF PLAIN SWIDTH 16 NOICONS
LINKER_OPTS_STRIP   = SC SD ND NOICONS

C_SOURCES           = dev.c task.c cl450.c l64111.c
C_INCLUDES	    = mpeg.h mpeg_device.h cl450.h l64111.h pic.h main_protos.h cl450_protos.h l64111_protos.h datapump_protos.h demux_protos.h

ASM_SOURCES         = mpeg_device.asm demux.asm interrupt.asm endcode.asm datapump.asm
ASM_INCLUDES	    = mpeg.i mpeg_device.i cl450.i l64111.i

OBJECTS             = mpeg_device.o dev.o task.o cl450.o l64111.o demux.o interrupt.o datapump.o endcode.o
OBJECTS_OLD         = mpeg_device.o dev_old.o task.o cl450.o l64111.o demux.o interrupt.o datapump.o endcode.o

STARTUP             =
LIBS                = LIB:amiga.lib LIB:debug.lib LIB:sc.lib

##############################################################################
# Build the stripped load file...
#
all: $(LD_STRIP)

$(LD_STRIP):	$(LD_FILE)
		$(LINKER) FROM $(LD_FILE) TO $(LD_STRIP) $(LINKER_OPTS_STRIP)

$(LD_STRIP_OLD):	$(LD_FILE_OLD)
		$(LINKER) FROM $(LD_FILE_OLD) TO $(LD_STRIP_OLD) $(LINKER_OPTS_STRIP)

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

$(LD_FILE_OLD):	$(OBJECTS_OLD) $(LIBS)
		$(LINKER) FROM $(OBJECTS_OLD) TO $(LD_FILE_OLD) LIB $(LIBS) $(LINKER_OPTS)

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

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

##############################################################################
# Specific dependencies...
#
dev.o		: dev.c mpeg_device.h mpeg.h cl450.h l64111.h dev_protos.h task_protos.h cl450_protos.h l64111_protos.h
    $(C_COMPILER) $(C_COMPILER_OPTS) $*.c

dev_old.o	: dev.c mpeg_device.h mpeg.h cl450.h l64111.h dev_protos.h task_protos.h cl450_protos.h l64111_protos.h
    $(C_COMPILER) $(C_COMPILER_OPTS) DEF OLD_HARDWARE=1 OBJNAME=dev_old.o dev.c

##############################################################################
# All dependencies...
#
mpeg_device.o	: mpeg_device.asm mpeg_device.i mpeg.i cd32mpeg_rev.i
task.o		: task.c mpeg_device.h mpeg.h cl450.h task_protos.h cl450_protos.h l64111_protos.h
cl450.o		: cl450.c mpeg_device.h mpeg.h cl450.h cl450_protos.h
l64111.o	: l64111.c mpeg_device.h mpeg.h l64111.h l64111_protos.h
demux.o		: demux.asm mpeg_device.i
datapump.o	: datapump.asm mpeg_device.i cl450.i
interrupt.o	: interrupt.asm mpeg_device.i cl450.i
endcode.o	: endcode.asm dram450.bin

#############################################################################
# Bump revision
#
version:
    -co -l $(MODNAME)_rev.rev
    -BumpRev $(VERSION) $(MODNAME)_rev
    -ci -u -m"" -r$(VERSION) $(MODNAME)_rev.rev

#############################################################################
# Build Prototypes
#
protos:
    $(C_COMPILER) GPROTO NOICON dev.c
    $(C_COMPILER) GPROTO NOICON task.c
    $(C_COMPILER) GPROTO NOICON cl450.c
    $(C_COMPILER) GPROTO NOICON l64111.c

##############################################################################
# Delete all object files
#
clean:
    -Delete $(OBJECTS) $(OBJECTS_REMAP)
    -Delete $(LD_FILE) $(LD_STRIP) $(LD_FILE_OLD) $(LD_STRIP_OLD) cd32mpeg.map

cyclone:
    rcp $(LD_FILE) cyclone=devs:cd32mpeg.device

cdgs: $(LD_FILE)
    copy $(LD_FILE) df0:devs/cd32mpeg.device

docs:
    autodoc dev.c task.c >cd32mpeg.doc

##############################################################################
#
checkin:
    ci -u -m"" -r$(VERSION) $(C_SOURCES)
    ci -u -m"" -r$(VERSION) $(C_INCLUDES)
    ci -u -m"" -r$(VERSION) $(ASM_SOURCES)
    ci -u -m"" -r$(VERSION) $(ASM_INCLUDES)
    ci -u -m"" -r$(VERSION) cd32mpeg_rev.rev

checkout:
    co -l $(C_SOURCES)
    co -l $(C_INCLUDES)
    co -l $(ASM_SOURCES)
    co -l $(ASM_INCLUDES)
    co -l cd32mpeg_rev.rev

##############################################################################
# Release the current build to the server...
#
release:
    -delete $(REMOTE)/((\#?.(c|h|asm|i|strip|ld|rev|doc|library))|smakefile)
    -protect ((\#?.(c|h|asm|i|ld|strip|rev|doc))|smakefile) +rwed quiet
    -copy \#?.(strip|ld|doc|library|c|h|asm|i|doc|ld|strip) smakefile \#?_rev.\#? $(REMOTE) NOPRO
    -copy dram450\#? $(REMOTE)
