#################################################
#						#
# Makefile for CLIB\CONVERT directory		#
#						#
# Routines contained in this directory are:	#
#						#
#	_ctype.asm				#
#	_ctypex.asm				#
#	_fptostr.c				#
#	atof.c					#
#	atoi.asm				#
#	atol.asm				#
#	atox.asm				#
#	fcvt.c					#
#	gcvt.c					#
#	itoa.asm				#
#	ltoa.asm				#
#	mblen.c					#
#	mbstowcs.c				#
#	mbtowc.c				#
#	strtod.c				#
#	strtol.asm				#
#	swab.asm				#
#	tolower.c				#
#	toupper.c				#
#	ultoa.asm				#
#	wcstombs.c				#
#	wctomb.c				#
#	xtoa.asm				#
#						#
#################################################

#########################################
#					#
# Object lists				#
#					#
#########################################

# Common objects
COMM_O= \
	$(LIBC)\atox.obj \
	$(LIBC)\xtoa.obj \
	$(LIBC)\itoa.obj \
	$(LIBC)\swab.obj \
	$(LIBC)\ltoa.obj \
	$(LIBC)\ultoa.obj \
	$(LIBC)\strtol.obj \
	$(LIBC)\tolower.obj \
	$(LIBC)\toupper.obj \
	$(LIBC)\atoi.obj \
	$(LIBC)\atol.obj \
	$(LIBC)\atof.obj \
	$(LIBC)\fcvt.obj \
	$(LIBC)\gcvt.obj \
	$(LIBC)\strtod.obj \
	$(LIBC)\mblen.obj \
	$(LIBC)\mbtowc.obj \
	$(LIBC)\wctomb.obj \
	$(LIBC)\mbstowcs.obj \
	$(LIBC)\wcstombs.obj \
	$(LIBC)\fmblen.obj \
	$(LIBC)\fmbtowc.obj \
	$(LIBC)\fwctomb.obj \
	$(LIBC)\fmbstowc.obj \
	$(LIBC)\fwcstomb.obj \
	$(LIBC)\_fptostr.obj \
	$(LIBC)\_ctype.obj \
	$(LIBC)\_ctypex.obj

#


# DOS 3.x objects
DOS_O=


# Windows objects
WIN_O=	\
	$(LIBC)\tolower.obj \
	$(LIBC)\toupper.obj \
	$(LIBC)\atof.obj \
	$(LIBC)\fcvt.obj \
	$(LIBC)\gcvt.obj \
	$(LIBC)\strtod.obj \
	$(LIBC)\mblen.obj \
	$(LIBC)\mbtowc.obj \
	$(LIBC)\wctomb.obj \
	$(LIBC)\mbstowcs.obj \
	$(LIBC)\wcstombs.obj \
	$(LIBC)\fmblen.obj \
	$(LIBC)\fmbtowc.obj \
	$(LIBC)\fwctomb.obj \
	$(LIBC)\fmbstowc.obj \
	$(LIBC)\fwcstomb.obj \
	$(LIBC)\_fptostr.obj

WINDLL_O= \
	$(LIBC)\wcstombs.obj \
	$(LIBC)\fwcstomb.obj \
	$(LIBC)\gcvt.obj


#########################################
#					#
# Target Dependency listings		#
#					#
#########################################

libc: $(COMM_O) $(DOS_O)



libcw: $(WIN_O)

libcwdll:  $(WINDLL_O)


#########################################################
#							#
#   Dependancies and rules for making local objects	#
#							#
#########################################################

$(LIBC)\atox.obj: atox.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\atox.obj atox.asm

$(LIBC)\atoi.obj: atoi.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\atoi.obj atoi.asm

$(LIBC)\atol.obj: atol.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\atol.obj atol.asm

$(LIBC)\xtoa.obj: xtoa.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\xtoa.obj xtoa.asm

$(LIBC)\itoa.obj: itoa.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\itoa.obj itoa.asm

$(LIBC)\ltoa.obj: ltoa.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\ltoa.obj ltoa.asm

$(LIBC)\ultoa.obj: ultoa.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\ultoa.obj ultoa.asm

$(LIBC)\_fptostr.obj: _fptostr.c \
		$(INCLUDE)\register.h \
		$(INCLUDE)\string.h \
		$(INCLUDE)\fltintrn.h
	$(CC) $(MEM) -Fo$(LIBC)\_fptostr.obj _fptostr.c

$(LIBC)\swab.obj: swab.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\swab.obj swab.asm

$(LIBC)\tolower.obj: tolower.c $(INCLUDE)\ctype.h $(INCLUDE)\stddef.h
	$(CC) $(MEM) -Fo$(LIBC)\tolower.obj tolower.c

$(LIBC)\toupper.obj: toupper.c $(INCLUDE)\ctype.h $(INCLUDE)\stddef.h
	$(CC) $(MEM) -Fo$(LIBC)\toupper.obj toupper.c

$(LIBC)\fcvt.obj: fcvt.c \
		$(INCLUDE)\fltintrn.h \
		$(INCLUDE)\cvt.h \
		$(INCLUDE)\register.h
	$(CC) $(MEM) -Fo$(LIBC)\fcvt.obj fcvt.c

$(LIBC)\gcvt.obj: gcvt.c \
		$(INCLUDE)\fltintrn.h \
		$(INCLUDE)\internal.h \
		$(INCLUDE)\register.h
	$(CC) $(MEM) -Fo$(LIBC)\gcvt.obj gcvt.c

$(LIBC)\atof.obj: atof.c \
		$(INCLUDE)\fltintrn.h \
		$(INCLUDE)\register.h \
		$(INCLUDE)\string.h \
		$(INCLUDE)\ctype.h
	$(CC) $(MEM) -Fo$(LIBC)\atof.obj atof.c

$(LIBC)\strtod.obj: strtod.c \
		$(INCLUDE)\stddef.h \
		$(INCLUDE)\fltintrn.h \
		$(INCLUDE)\string.h \
		$(INCLUDE)\ctype.h \
		$(INCLUDE)\register.h \
		$(INCLUDE)\errno.h \
		$(INCLUDE)\math.h
	$(CC) $(MEM) -FPc -Fo$(LIBC)\strtod.obj strtod.c

$(LIBC)\strtol.obj: strtol.asm $(ASMSTD) $(ASMINC)\errno.inc \
		
	$(MM) -Fo$(LIBC)\strtol.obj strtol.asm

$(LIBC)\mblen.obj: mblen.c \
		$(INCLUDE)\ctype.h \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -Fo$(LIBC)\mblen.obj mblen.c

$(LIBC)\mbtowc.obj: mbtowc.c \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -Fo$(LIBC)\mbtowc.obj mbtowc.c

$(LIBC)\wctomb.obj: wctomb.c \
		$(INCLUDE)\ctype.h \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -Fo$(LIBC)\wctomb.obj wctomb.c

$(LIBC)\mbstowcs.obj: mbstowcs.c \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -Fo$(LIBC)\mbstowcs.obj mbstowcs.c

$(LIBC)\wcstombs.obj: wcstombs.c \
		$(INCLUDE)\limits.h \
		$(INCLUDE)\internal.h \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -Fo$(LIBC)\wcstombs.obj wcstombs.c


# model-independent versions:
# CONSIDER: not all of these are necessary

$(LIBC)\fmblen.obj: mblen.c \
		$(INCLUDE)\ctype.h \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -DMODELINDEP -Fo$(LIBC)\fmblen.obj mblen.c

$(LIBC)\fmbtowc.obj: mbtowc.c \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -DMODELINDEP -Fo$(LIBC)\fmbtowc.obj mbtowc.c

$(LIBC)\fwctomb.obj: wctomb.c \
		$(INCLUDE)\ctype.h \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -DMODELINDEP -Fo$(LIBC)\fwctomb.obj wctomb.c

$(LIBC)\fmbstowc.obj: mbstowcs.c \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -DMODELINDEP -Fo$(LIBC)\fmbstowc.obj mbstowcs.c

$(LIBC)\fwcstomb.obj: wcstombs.c \
		$(INCLUDE)\limits.h \
		$(INCLUDE)\internal.h \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -DMODELINDEP -Fo$(LIBC)\fwcstomb.obj wcstombs.c

$(LIBC)\_ctype.obj: _ctype.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\_ctype.obj _ctype.asm

$(LIBC)\_ctypex.obj: _ctypex.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\_ctypex.obj _ctypex.asm

