
MODNAME	          = exchange
VERSION		  = 40

REMOTE		  = V$(VERSION):src/workbench/commodities/exchange

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

C_COMPILER        = LC
C_COMPILER_OPTS   = -b1 -ms -v -rr -O -cfistqmc -d1 -o

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

LINKER            = Blink
LINKER_OPTS	  = ADDSYM SC SD MAP $(MODNAME).map HLSXF DEFINE @_main=@_tinymain
LINKER_OPTS_STRIP = ND

C_SOURCES   = ce_custom.c ce_main.c ce_window.c ce_strings.c
ASM_SOURCES =
OBJECTS     = ce_main.o ce_custom.o ce_window.o ce_strings.o
STARTUP     = LIB:c.o
LIBS	    = LIB:amiga.lib LIB:lcr.lib LIB:debug.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...
#
ce_custom.o: ce_custom.c ce_custom.h $(MODNAME)_rev.rev
ce_main.o: ce_main.c ce_custom.h ce_window.h
ce_window.o: ce_window.c ce_window.h ce_custom.h
ce_strings.o: ce_strings.c ce_strings.h


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


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


##############################################################################
# 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)) +rd quiet
	@Copy \#?.(strip|ld|doc|library) \#?_rev.\#? $(REMOTE)
