#
# $Source: HOG:Other/networking/sana2/src/slip/RCS/smakefile,v $
# $State: Exp $
# $Revision: 38.1 $
# $Date: 94/02/17 14:24:43 $
# $Author: kcd $
#
# Amiga SANA-II Example SLIP device driver SAS make file.
#
# (C) Copyright 1992 Commodore-Amiga, Inc.
#
#

MODNAME             = slip

VERSION             = 38

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

C_COMPILER          = sc
C_COMPILER_OPTS     = NOVERS DATA=FAR STRMERGE OPTTIME PARMS=REGISTER DEF OWNDEVUNIT_SUPPORT=1 NOSTKCHK DEBUG=LINE AUTOREG

ASSEMBLER           = asm
ASSEMBLER_OPTS      =

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

C_SOURCES           = main.c slcompress.c

ASM_SOURCES         = slip_device.asm endcode.asm

C_HEADERS	    = in.h ip.h in_systm.h main_protos.h mbuf.h param.h \
		      signal.h slcompress.h slcompress_protos.h \
		      slip_device.h

ASM_HEADERS	    = slip_device.i

DOC_FILES	    = slip.docs slip0.config

OBJECTS             = slip_device.o main.o slcompress.o endcode.o

STARTUP             =
LIBS                = LIB:debug.lib LIB:amiga.lib LIB:sc.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) <with <
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)

##############################################################################
# All dependencies...
#
slip_device.o	: slip_device.asm slip_device.i slip_rev.i
slcompress.o	: slcompress.c in.h ip.h in_systm.h mbuf.h param.h slcompress.h tcp.h signal.h slcompress_protos.h
main.o		: main.c slip_device.h main_protos.h slcompress_protos.h
endcode.o	: endcode.asm

#############################################################################
# Bump services.library revision
#
version:
    -BumpRev $(VERSION) $(MODNAME)_rev

##############################################################################
# Delete all object files
#
clean:
    -Delete $(OBJECTS)
    -Delete $(LD_FILE) $(LD_STRIP) slip.map

##############################################################################
# Generate Prototype files
#
protos:	main_protos.h slcompress_protos.h

main_protos.h : main.c
    $(C_COMPILER) GPROTO main.c

slcompress_protos.h : slcompress.c
    $(C_COMPILER) GPROTO slcompress.c

##############################################################################
#
# Source maintenance
checkin:
	ci -u -f -m"" -r$(VERSION) $(C_SOURCES)
	ci -u -f -m"" -r$(VERSION) $(C_HEADERS)
	ci -u -f -m"" -r$(VERSION) $(ASM_SOURCES)
	ci -u -f -m"" -r$(VERSION) $(ASM_HEADERS)
	ci -u -f -m"" -r$(VERSION) $(DOC_FILES)

checkout:
	co $(C_SOURCES)
	co $(C_HEADERS)
	co $(ASM_SOURCES)
	co $(ASM_HEADERS)
	co $(DOC_FILES)

checkoutlock:
	co -l $(C_SOURCES)
	co -l $(C_HEADERS)
	co -l $(ASM_SOURCES)
	co -l $(ASM_HEADERS)
	co -l $(DOC_FILES)

##############################################################################
# Release the current build to the server...
#
release:
    -Delete $(REMOTE)/((#?.(c|h|asm|i|strip|ld|rev|doc|library))|makefile)
    -protect ((#?.(c|h|asm|i|ld|strip|rev|doc))|makefile) +r quiet
    -copy #?.(strip|ld|doc|library|c|h|asm|i|doc|ld|strip) makefile #?_rev.#? $(REMOTE)
    -copy slip.ld.strip HOG:Other/networking/sana2/bin/devs/slip.device

install:
    -copy slip.ld.strip devs:slip.device
