
MODNAME	          = pointer
VERSION		  = 40

REMOTE		  = V$(VERSION):src/workbench/prefs/pointer

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

C_COMPILER        = LC
C_COMPILER_OPTS   = -O -b0 -ms -v -rr -cfistqmc -d1

ASSEMBLER         = hx68 from
ASSEMBLER_OPTS    = debug addsym incdir include: to

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

C_SOURCES	= pe_main.c \
		  pe_strings.c \
		  pe_utils.c \
		  pe_custom.c \
		  pe_iff.c \
		  sketchgclass.c \
		  cstubs.c \
		  clipboard.c \
		  io.c \
		  misc.c

ASM_SOURCES	= magnify.asm \
		  stubs.asm

OBJECTS		= pe_main.o pe_custom.o pe_strings.o pe_utils.o pe_iff.o \
		  sketchgclass.o magnify.o \
		  stubs.o cstubs.o clipboard.o io.o misc.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...
#
pe_strings.o: pe_strings.c pe_strings.h texttable.h
pe_main.o: pe_main.c $(MODNAME)_rev.rev pe_custom.h pe_utils.h pe_strings.h
pe_utils.o: pe_utils.c pe_utils.h pe_custom.h pe_strings.h

pe_custom.o: pe_custom.c pe_custom.h pe_utils.h pe_strings.h sketchgclass.h
sketchgclass.o: sketchgclass.c pe_custom.h sketchgclass.h
clipboard.o: clipboard.c pe_custom.h
io.o: io.c pe_custom.h
misc.o: misc.c pe_custom.h

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


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


##############################################################################
# Release the current build to the server...
#
internal:
	-Delete $(REMOTE)/((\#?.(c|h|asm|i)))
	-Delete $(REMOTE)/((\#?.(ld|rev)))
	-Delete $(REMOTE)/((\#?.(doc|library)))
	-Delete $(REMOTE)/lmkfile
	-Protect ((\#?.(c|h|asm|i|ld|rev|doc))|lmkfile|$(LD_STRIP)) +rd quiet
	-Copy \#?.(strip|ld|doc|library) \#?_rev.\#? $(REMOTE)


##############################################################################
# This is just to handle the case of a non-existant _rev file
#
$(MODNAME)_rev.rev:
	BUMPREV $(VERSION) $(MODNAME)_rev

install:
	copy $(LD_STRIP) sys:prefs/$(MODNAME)

protos:
	mkproto \#?.c to $(MODNAME)_iprotos.h
