# MAKEFILE (in each subdir of SRC\)
# built by concatenating MAKE[123].ADD (in LIB\)
# LIBFILE from file LIBFILE (in each subdir)
# OBJS and dependency information collected by makemake program

# the latter also makes xmodules and xbldlib

# this makefile adds OBJS to relevant LIB if $(UPDATE) defined

# The env var L3XCOPTS can be set to additional C compiler flags, defines ...

!include ..\..\lib\config.mk


LIBFILE = xio.lib

.c.obj:
	$(CC) -c $(CFLAGS) $<
!ifdef UPDATE
	$(LIB) $(L)\$(LIBFILE) $(LIBFLAGS) -+$*
!endif

.asm.obj:
	$(ASM) $*;
!ifdef UPDATE
	$(LIB) $(L)\$(LIBFILE) $(LIBFLAGS) -+$*
!endif

.c.asm:
	$(CC) -S $(CFLAGS) $<
	rename $*.asm $*.log

OBJS = clkinit.obj close.obj control.obj getc.obj getdev.obj getstdio.obj \
gettime.obj getutim.obj init.obj insertd.obj ioerr.obj ionull.obj ioopen.obj \
nopen.obj open.obj putc.obj read.obj recvtim.obj seek.obj sleep.obj \
sleep10.obj sleept.obj ssclock.obj unsleep.obj wakeup.obj write.obj 

update:
	@make -DUPDATE all

all: $(OBJS)

objs: all

lib: all
 	$(LIB) $(L)\$(LIBFILE) $(LIBFLAGS) @xbldlib

clean:
	del *.obj

make:
	makemake

xref:
	objxref @xmodules


clkinit.obj: $(H)\conf.h $(H)\kernel.h $(H)\q.h $(H)\sleep.h clkinit.c
close.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h close.c
control.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h control.c
getc.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h getc.c
getdev.obj: $(H)\conf.h $(H)\kernel.h getdev.c
getstdio.obj: $(H)\conf.h $(H)\kernel.h $(H)\proc.h getstdio.c
gettime.obj: $(H)\conf.h $(H)\date.h $(H)\kernel.h gettime.c
getutim.obj: $(H)\conf.h $(H)\date.h $(H)\dos.h $(H)\kernel.h $(H)\sleep.h getutim.c
init.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h init.c
insertd.obj: $(H)\conf.h $(H)\kernel.h $(H)\q.h insertd.c
ioerr.obj: $(H)\conf.h $(H)\kernel.h ioerr.c
ionull.obj: $(H)\conf.h $(H)\kernel.h ionull.c
ioopen.obj: $(H)\conf.h $(H)\kernel.h ioopen.c
nopen.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h nopen.c
open.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h open.c
putc.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h putc.c
read.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h read.c
recvtim.obj: $(H)\conf.h $(H)\kernel.h $(H)\proc.h $(H)\q.h $(H)\sleep.h recvtim.c
seek.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h seek.c
sleep.obj: $(H)\conf.h $(H)\kernel.h $(H)\sleep.h sleep.c
sleep10.obj: $(H)\conf.h $(H)\kernel.h $(H)\proc.h $(H)\q.h $(H)\sleep.h sleep10.c
sleept.obj: $(H)\conf.h $(H)\kernel.h $(H)\proc.h $(H)\q.h $(H)\sleep.h sleept.c
ssclock.obj: $(H)\conf.h $(H)\kernel.h $(H)\q.h $(H)\sleep.h ssclock.c
unsleep.obj: $(H)\conf.h $(H)\kernel.h $(H)\proc.h $(H)\q.h $(H)\sleep.h unsleep.c
wakeup.obj: $(H)\conf.h $(H)\kernel.h $(H)\proc.h $(H)\q.h $(H)\sleep.h wakeup.c
write.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h write.c
