
MODNAME	          = locale
VERSION		  = 42

REMOTE		  = V$(VERSION):src/workbench/libs/locale

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

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

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   = catalog.c localebase.c format.c rexxhost.c datepatch.c

ASM_SOURCES = driverface.asm locale_lib.asm endcode.asm english.asm \
	      getcatalogstr.asm numconvert.asm patches.asm

OBJECTS     = locale_lib.o catalog.o driverface.o format.o localebase.o \
	      english.o getcatalogstr.o numconvert.o patches.o \
	      rexxhost.o datepatch.o endcode.o

STARTUP     =
LIBS	    = LIB:amiga.lib LIb:sc.lib LIB:debug.lib LIB:amiga.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...
#
driverface.o: driverface.asm localebase.i
localebase.o: localebase.c localebase.h catalog.h english.h
locale_lib.o: locale_lib.asm $(MODNAME)_rev.rev localebase.i
emdcode.o: endcode.asm
english.o: english.asm english.h localebase.h
format.o: format.c format.h localebase.h
catalog.o: catalog.c catalog.h localebase.h
getcatalogstr.o: getcatalogstr.asm catalog.i
numconvert.o: numconvert.asm
patches.o: patches.asm localebase.i
rexxhost.o: rexxhost.c
datepatch.o: datepatch.c


##############################################################################
# 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/locale.? wrd quiet
	@copy locale.? V$(VERSION):include/libraries quiet
	@protect V$(VERSION):lib/sfd/locale_lib.sfd wrd
	@copy locale_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)
