#################################################
#						#
# Makefile for CLIB\LOWIO directory		#
#						#
# Routines contained in this directory are:	#
#						#
#	binmode.asm				#
#	chsize.c				#
#	close.asm				#
#       commit.c				#
#	creat.asm				#
#	dup.asm 				#
#	dup2.asm				#
#	eof.c					#
#	flength.c				#
#	fstat.c 				#
#	isatty.asm				#
#	locking.asm				#
#	lseek.c 				#
#	lseekchk.asm				#
#	mktemp.c				#
#	open.asm				#
#	pipe.asm				#
#	read.asm				#
#	seekchk.asm				#
#	setmode.c				#
#	tell.c					#
#	txtmode.asm				#
#	write.asm 				#
#						#
#################################################


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

# Common objects
COMM_O= \
	..\binmode.obj \
	..\lseekchk.obj \
	$(LIBC)\creat.obj \
	$(LIBC)\eof.obj \
	$(LIBC)\flength.obj \
	$(LIBC)\isatty.obj \
	$(LIBC)\mktemp.obj \
	$(LIBC)\setmode.obj \
	$(LIBC)\seekfast.obj \
	$(LIBC)\tell.obj \
	$(LIBC)\txtmode.obj


# DOS objects
DOS_O=	\
	$(LIBC)\dos\chsize.obj \
	$(LIBC)\dos\close.obj \
	$(LIBC)\dos\commit.obj \
	$(LIBC)\dos\dup.obj \
	$(LIBC)\dos\fstat.obj \
	$(LIBC)\dos\locking.obj \
	$(LIBC)\dos\lseek.obj \
	$(LIBC)\dos\open.obj \
	$(LIBC)\dos\read.obj \
	$(LIBC)\dos\write.obj


# Windows objects
WIN_O=	\
	$(LIBC)\creat.obj \
	$(LIBC)\eof.obj \
	$(LIBC)\flength.obj \
	$(LIBC)\isatty.obj \
	$(LIBC)\mktemp.obj \
	$(LIBC)\setmode.obj \
	$(LIBC)\tell.obj \
	$(LIBC)\dos\chsize.obj \
	$(LIBC)\dos\close.obj \
	$(LIBC)\dos\commit.obj \
	$(LIBC)\dos\dup.obj \
	$(LIBC)\dos\fstat.obj \
	$(LIBC)\dos\locking.obj \
	$(LIBC)\dos\lseek.obj \
	$(LIBC)\dos\open.obj \
	$(LIBC)\dos\read.obj \
	$(LIBC)\dos\wabout.obj \
	$(LIBC)\dos\write.obj \
	$(LIBC)\dos\wclose.obj \
	$(LIBC)\dos\wgetbuf.obj \
	$(LIBC)\dos\wgetexit.obj \
	$(LIBC)\dos\wgetfoc.obj \
	$(LIBC)\dos\wgetsize.obj \
	$(LIBC)\dos\wmenuclk.obj \
	$(LIBC)\dos\wopen.obj \
	$(LIBC)\dos\wread.obj \
	$(LIBC)\dos\wsetbuf.obj \
	$(LIBC)\dos\wsetexit.obj \
	$(LIBC)\dos\wsetfoc.obj \
	$(LIBC)\dos\wsetsize.obj \
	$(LIBC)\dos\wwrite.obj

WINDLL_O = \
	$(LIBC)\eof.obj \
	$(LIBC)\flength.obj \
	$(LIBC)\isatty.obj \
	$(LIBC)\setmode.obj \
	$(LIBC)\dos\chsize.obj \
	$(LIBC)\dos\commit.obj \
	$(LIBC)\dos\dup.obj \
	$(LIBC)\dos\fstat.obj \
	$(LIBC)\dos\lseek.obj \
	$(LIBC)\dos\read.obj \
	$(LIBC)\dos\write.obj


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

libc: $(COMM_O) $(DOS_O)



libcw: $(WIN_O)

libcwdll: $(WINDLL_O)


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

..\binmode.obj: binmode.asm $(ASMSTD) $(ASMINC)\fcntl.inc
	$(MM) -Fo..\binmode.obj binmode.asm

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

$(LIBC)\creat.obj: creat.asm $(ASMSTD) $(ASMINC)\fcntl.inc
	$(MM) -Fo$(LIBC)\creat.obj creat.asm

$(LIBC)\eof.obj: eof.c \
		$(INCLUDE)\io.h \
		$(INCLUDE)\errno.h \
		$(INCLUDE)\stddef.h \
		$(INCLUDE)\stdio.h \
		$(INCLUDE)\internal.h \
		$(INCLUDE)\register.h
	$(CC) $(MEM) -Fo$(LIBC)\eof.obj eof.c

$(LIBC)\flength.obj: flength.c \
		$(INCLUDE)\stdio.h \
		$(INCLUDE)\register.h \
		$(INCLUDE)\errno.h \
		$(INCLUDE)\io.h \
		$(INCLUDE)\internal.h \
		$(INCLUDE)\stddef.h
	$(CC) $(MEM) -Fo$(LIBC)\flength.obj flength.c

$(LIBC)\isatty.obj: isatty.asm $(ASMSTD) $(ASMINC)\msdos.inc \
		$(ASMINC)\stdlib.inc
	$(MM) -Fo$(LIBC)\isatty.obj isatty.asm

$(LIBC)\mktemp.obj: mktemp.c \
		$(INCLUDE)\register.h \
		$(INCLUDE)\errno.h \
		$(INCLUDE)\assert.h \
		$(INCLUDE)\io.h \
		$(INCLUDE)\process.h \
		$(INCLUDE)\stddef.h \
		$(INCLUDE)\sizeptr.h
	$(CC) $(MEM) -Fo$(LIBC)\mktemp.obj mktemp.c

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

$(LIBC)\setmode.obj: setmode.c \
		$(INCLUDE)\io.h \
		$(INCLUDE)\stdio.h \
		$(INCLUDE)\fcntl.h \
		$(INCLUDE)\errno.h \
		$(INCLUDE)\register.h \
		$(INCLUDE)\msdos.h \
		$(INCLUDE)\stddef.h \
		$(INCLUDE)\internal.h
	$(CC) $(MEM) -Fo$(LIBC)\setmode.obj setmode.c

$(LIBC)\tell.obj: tell.c $(INCLUDE)\io.h
	$(CC) $(MEM) -Fo$(LIBC)\tell.obj tell.c

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


$(LIBC)\dos\chsize.obj: dos\chsize.c \
		$(INCLUDE)\errno.h \
		$(INCLUDE)\stdlib.h \
		$(INCLUDE)\stdio.h \
		$(INCLUDE)\string.h \
		$(INCLUDE)\msdos.h \
		$(INCLUDE)\register.h \
		$(INCLUDE)\assert.h \
		$(INCLUDE)\fcntl.h \
		$(INCLUDE)\dos.h \
		$(INCLUDE)\io.h \
		$(INCLUDE)\internal.h \
		$(INCLUDE)\sizeptr.h
	$(CC) $(MEM) -Fo$(LIBC)\dos\chsize.obj dos\chsize.c

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

$(LIBC)\dos\commit.obj: commit.c \
		$(INCLUDE)\dos.h \
		$(INCLUDE)\errno.h \
		$(INCLUDE)\io.h \
		$(INCLUDE)\internal.h \
		$(INCLUDE)\msdos.h \
		$(INCLUDE)\register.h \
		$(INCLUDE)\stdlib.h
	$(CC) $(MEM) -Fo$(LIBC)\dos\commit.obj commit.c

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

$(LIBC)\dos\fstat.obj: dos\fstat.c \
		$(INCLUDE)\sys\types.h \
		$(INCLUDE)\sys\stat.h \
		$(INCLUDE)\errno.h \
		$(INCLUDE)\register.h \
		$(INCLUDE)\msdos.h \
		$(INCLUDE)\dos.h \
		$(INCLUDE)\dostypes.h \
		$(INCLUDE)\io.h \
		$(INCLUDE)\internal.h
	$(CC) $(MEM) -Fo$(LIBC)\dos\fstat.obj dos\fstat.c

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

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

$(LIBC)\dos\open.obj: dos\open.asm $(ASMSTD) $(ASMINC)\msdos.inc \
		$(ASMINC)\fcntl.inc $(ASMINC)\errno.inc
	$(MM) -Fo$(LIBC)\dos\open.obj dos\open.asm

$(LIBC)\dos\read.obj: dos\read.asm $(ASMSTD) $(ASMINC)\msdos.inc \
		$(ASMINC)\defsegs.inc $(ASMINC)\errno.inc $(ASMINC)\stdlib.inc
	$(MM) -Fo$(LIBC)\dos\read.obj dos\read.asm

$(LIBC)\dos\write.obj: write.asm $(ASMSTD) $(ASMINC)\msdos.inc \
		$(ASMINC)\defsegs.inc $(ASMINC)\errno.inc $(ASMINC)\stdlib.inc
	$(MM) -Fo$(LIBC)\dos\write.obj write.asm


$(LIBC)\dos\wabout.obj: windows\wabout.asm $(ASMSTD)
	$(MM) -Fo$(LIBC)\dos\wabout.obj windows\wabout.asm

$(LIBC)\dos\wclose.obj: windows\wclose.asm $(ASMSTD) $(ASMINC)\errno.inc \
		$(ASMINC)\rterr.inc
	$(MM) -Fo$(LIBC)\dos\wclose.obj windows\wclose.asm

$(LIBC)\dos\wgetbuf.obj: windows\wgetbuf.asm $(ASMSTD) \
		$(ASMINC)\errno.inc $(ASMINC)\stdlib.inc
	$(MM) -Fo$(LIBC)\dos\wgetbuf.obj windows\wgetbuf.asm

$(LIBC)\dos\wgetexit.obj: windows\wgetexit.c \
		$(INCLUDE)\qwin.h \
		$(INCLUDE)\io.h
	$(CC) $(MEM) -Fo$(LIBC)\dos\wgetexit.obj windows\wgetexit.c

$(LIBC)\dos\wgetfoc.obj: windows\wgetfoc.asm $(ASMSTD) \
		$(ASMINC)\errno.inc $(ASMINC)\stdlib.inc
	$(MM) -Fo$(LIBC)\dos\wgetfoc.obj windows\wgetfoc.asm

$(LIBC)\dos\wgetsize.obj: windows\wgetsize.asm $(ASMSTD) \
		$(ASMINC)\errno.inc $(ASMINC)\stdlib.inc
	$(MM) -Fo$(LIBC)\dos\wgetsize.obj windows\wgetsize.asm

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

$(LIBC)\dos\wopen.obj: windows\wopen.asm $(ASMSTD) $(ASMINC)\errno.inc \
		$(ASMINC)\fcntl.inc $(ASMINC)\msdos.inc $(ASMINC)\rterr.inc
	$(MM) -Fo$(LIBC)\dos\wopen.obj windows\wopen.asm

$(LIBC)\dos\wread.obj: windows\wread.asm $(ASMSTD) $(ASMINC)\error.inc
	$(MM) -Fo$(LIBC)\dos\wread.obj windows\wread.asm

$(LIBC)\dos\wsetbuf.obj: windows\wsetbuf.asm $(ASMSTD) \
		$(ASMINC)\errno.inc $(ASMINC)\stdlib.inc
	$(MM) -Fo$(LIBC)\dos\wsetbuf.obj windows\wsetbuf.asm

$(LIBC)\dos\wsetexit.obj: windows\wsetexit.c \
		$(INCLUDE)\qwin.h \
		$(INCLUDE)\io.h
	$(CC) $(MEM) -Fo$(LIBC)\dos\wsetexit.obj windows\wsetexit.c

$(LIBC)\dos\wsetfoc.obj: windows\wsetfoc.asm $(ASMSTD) \
		$(ASMINC)\errno.inc $(ASMINC)\stdlib.inc
	$(MM) -Fo$(LIBC)\dos\wsetfoc.obj windows\wsetfoc.asm

$(LIBC)\dos\wsetsize.obj: windows\wsetsize.asm $(ASMSTD) \
		$(ASMINC)\errno.inc $(ASMINC)\stdlib.inc
	$(MM) -Fo$(LIBC)\dos\wsetsize.obj windows\wsetsize.asm

$(LIBC)\dos\wwrite.obj: windows\wwrite.asm $(ASMSTD) $(ASMINC)\error.inc
	$(MM) -Fo$(LIBC)\dos\wwrite.obj windows\wwrite.asm

