
MODNAME	          = accounts
VERSION		  = 37

REMOTE		  = ENVOY:src/accounts/libs

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

C_COMPILER        = SC
C_COMPILER_OPTS   = PARMS=REGISTER DATA=FO STRMER NOSTKCHK LIBCODE OPT MEMSIZE=HUGE GST=$(MODNAME).gst

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

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

C_SOURCES   = convert.c docmd.c lists.c public.c verify.c

ASM_SOURCES = accounts_lib.asm stubs.asm endcode.asm

OBJECTS     = accounts_lib.o public.o convert.o lists.o verify.o docmd.o  \
	      stubs.o endcode.o

STARTUP     =
LIBS	    = SLIB:debug.lib SLIB:amiga.lib LIB:nipc.lib SLIB: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) $*.o


##############################################################################
# Global Symbol Table
#
$(MODNAME).gst: $(MODNAME)_gst.c
	$(C_COMPILER) MGST=$(MODNAME).gst MEMSIZE=HUGE $*.c

##############################################################################
# All dependencies...
#
accounts_lib.o: accounts_lib.asm $(MODNAME)_rev.rev accountsbase.i
convert.o: convert.c /accounts.h /transactions.h accountsbase.h $(MODNAME).gst
lists.o: lists.c /accounts.h /transactions.h accountsbase.h $(MODNAME).gst
public.o: public.c /accounts.h /transactions.h accountsbase.h $(MODNAME).gst
docmd.o: docmd.c /accounts.h /transactions.h accountsbase.h $(MODNAME).gst
stubs.o: stubs.asm accountsbase.i
$(MODNAME).gst: /accounts.h /transactions.h accountsbase.h

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


##############################################################################
# Delete all object files
#
clean:
	@Delete $(OBJECTS)
	@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:
	@Delete $(REMOTE)/((\#?.(c|h|asm|i|ld|rev|doc|library))|lmkfile)
	@protect ((\#?.(c|h|asm|i|ld|rev|doc))|lmkfile|$(LD_STRIP)) +r quiet
	@copy \#?.(strip|ld|doc|library) \#?_rev.\#? $(REMOTE)

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