
MODNAME	          = socket
VERSION		  = 4

REMOTE		  = AS225:src/lib/ss

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

C_COMPILER        = LC
C_COMPILER_OPTS   = -ml -O -v -iNETINC: -cfst
ASSEMBLER         = hx68 -a
ASSEMBLER_OPTS    = -csy -i include: -o

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

C_SOURCES   = lib_custom.c socket.c error.c config.c gethost.c \
	      gethostnamadr.c res_comp.c res_send.c res_init.c res_query.c \
	      res_mkquery.c inet_addr.c functions.c ioctl.c sethostent.c \
	      send.c recv.c select.c getnet.c getproto.c getserv.c \
	      password.c rcmd.c syslog.c

ASM_SOURCES = libent.asm gethostnewstack.asm

OBJECTS	    = libent.o libinit.o lib_custom.o socket.o error.o config.o \
	      gethost.o gethostnamadr.o res_comp.o res_send.o res_init.o \
	      res_query.o res_mkquery.o inet_addr.o functions.o ioctl.o \
	      sethostent.o send.o recv.o select.o getnet.o getproto.o \
	      getserv.o password.o rcmd.o syslog.o gethostnewstack.o

STARTUP     =
LIBS	    = LIB:amiga.lib LIB:debug.lib LIB:lc.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 <
LIBFD $(MODNAME).fd
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...
#
#
#asl_lib.o: asl_lib.asm $(MODNAME)_rev.rev asl.i aslbase.i
#aslbase.o: aslbase.c aslbase.h asl.h screenmodereq.h filereq.h fontreq.h
#filereq.o: filereq.c filereq.h aslbase.h asl.h aslutils.h asllists.h requtils.h
#fontreq.o: fontreq.c fontreq.h aslbase.h asl.h aslutils.h asllists.h requtils.h
#screenmodereq.o: screenmodereq.c screenmodereq.h aslbase.h asl.h aslutils.h asllists.h requtils.h
#aslutils.o: aslutils.c aslutils.h aslbase.h
#asllists.o: asllists.asm asllists.h aslbase.i
#layout.o: layout.c aslutils.h requtils.h
#texttable.o: texttable.c texttable.h
#stubs.o: stubs.asm aslbase.i
#requtils.o: requtils.c requtils.h aslbase.h


##############################################################################
# Bump the version...
#
version:
	@BumpRev $(VERSION) $(MODNAME)_rev


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


##############################################################################
# Release stuff that should be...
#
headers:
	@autodoc >$(MODNAME).doc autodocs.asm
	@copy $(MODNAME).doc V$(VERSION):doc
	@delete $(MODNAME).doc quiet
	@protect V$(VERSION):include/libraries/asl.? wrd quiet
	@copy asl.? V$(VERSION):include/libraries quiet
	@protect V$(VERSION):lib/sfd/asl_lib.sfd wrd
	@copy asl_lib.sfd V$(VERSION):lib/sfd


##############################################################################
# Release the current build to the server...
#
internal:
	@echo >$(REMOTE)/foo.c
	@Delete $(REMOTE)/((\#?.(c|h|asm|i|ld|rev|doc|library))|lmkfile) FORCE
	@protect ((\#?.(c|h|asm|i|ld|rev|doc))|lmkfile|$(LD_STRIP)) +r quiet
	@copy ((\#?.(c|h|asm|i|rev|strip|ld|doc|library))|lmkfile) \#?_rev.\#? $(REMOTE) NOPRO

install:
	-copy $(LD_STRIP) inet:libs/$(MODNAME).library
