
MODNAME	          = gradientslider
VERSION		  = 40

REMOTE		  = V$(VERSION):src/workbench/classes/gadgets/gradientslider

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

C_COMPILER        = LC
C_COMPILER_OPTS   = -b0 -ms -v -me -rr -O -cfistqmcu -d1

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   = gradientbase.c gradient.c
ASM_SOURCES = gradient_lib.asm utils.asm stubs.asm
OBJECTS     = gradient_lib.o gradientbase.o utils.o gradient.o stubs.o endcode.o

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


##############################################################################
# All dependencies...
#
gradient_lib.o: gradient_lib.asm $(MODNAME)_rev.rev gradientbase.i
gradientbase.o: gradientbase.c gradientbase.h
endcode.o: endcode.asm
utils.o: utils.asm
gradient.o: gradient.c gradient.h gradientslider.h
stubs.o: stubs.asm


##############################################################################
# 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)_gc.doc autodocs.asm
	@copy $(MODNAME)_gc.doc V$(VERSION):doc
	@delete $(MODNAME)_gc.doc quiet
	@protect V$(VERSION):include/gadgets/gradientslider.? wrd quiet
	@copy gradientslider.? V$(VERSION):include/gadgets quiet


##############################################################################
# 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)
