
MODNAME	          = makewb
VERSION		  = 40

REMOTE_SRC	  = V:src/workbench/build/src/makewb
REMOTE_BIN	  = V:src/workbench/build/bin/makewb
REMOTE_DOC	  = V:src/workbench/build/doc

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

C_COMPILER        = SC
C_COMPILER_OPTS   = RESOPT DATA=FARONLY PARM=REGISTERS UCHAR CONSTLIB\
		    STREQ STRMER COMMENTNEST DBG=SYMBOL\
		    MEMSIZE=HUGE NOSTKCHK NOICONS NOVERSION NOMINC\
		    OPT OPTPEEP OPTINLOCAL OPTSIZE OPTDEP=3 OPTRDEP=3

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

LINKER            = Slink
LINKER_OPTS	  = SMALLCODE SMALLDATA MAP $(MODNAME).map HLSXF PLAIN SWIDTH 16
LINKER_OPTS_STRIP = ND

C_SOURCES   = makewb.c memloadseg.c texttable.c
ASM_SOURCES =
OBJECTS     = makewb.o memloadseg.o texttable.o
STARTUP     =
LIBS        = LIB:debug.lib LIB:amiga.lib LIB: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) 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

.cd.h:
	CatComp $*.cd CFILE $*_strings.h


##############################################################################
# All dependencies...
#
makewb_strings.h: makewb.cd
makewb.o: makewb.c texttable.h $(MODNAME)_rev.rev makewb_strings.h
texttable.o: texttable.c texttable.h makewb_strings.h
memloadseg.o: memloadseg.c


##############################################################################
# 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_SRC)/((\#?.(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_SRC)
	@copy $(LD_STRIP) $(REMOTE_BIN)
	@copy \#?.doc $(REMOTE_DOC)
