# 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 = chdsk.obj dfalloc.obj dfckmd.obj dfdsrch.obj dio.obj dscntl.obj \
dsinit.obj dsinter.obj dskbcpy.obj dskchdsk.obj dskenq.obj dskio.obj \
dskmkfs.obj dskname.obj dskqopt.obj dsksync.obj dskzap.obj dsnap.obj \
dsopen.obj dsread.obj dsseek.obj dswrite.obj format.obj ibclear.obj ibget.obj \
iblfree.obj ibnew.obj ibput.obj isanmf.obj lfclose.obj lfgetc.obj lfinit.obj \
lfopen.obj lfputc.obj lfread.obj lfsdfree.obj lfseek.obj lfsetup.obj \
lfsflush.obj lfsnewd.obj lfwrite.obj remove.obj rename.obj 

update:
	@make -DUPDATE all

all: $(OBJS)

objs: all

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

clean:
	del *.obj

make:
	makemake

xref:
	objxref @xmodules


chdsk.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h chdsk.c
dfalloc.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h dfalloc.c
dfckmd.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h dfckmd.c
dfdsrch.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h dfdsrch.c
dio.obj: $(H)\dos.h $(H)\dskio.h $(H)\kernel.h dio.c
dscntl.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\name.h $(H)\proc.h dscntl.c
dsinit.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\dskio.h $(H)\kernel.h $(H)\mark.h dsinit.c
dsinter.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\dskio.h $(H)\kernel.h dsinter.c
dskbcpy.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\kernel.h $(H)\mark.h dskbcpy.c
dskchdsk.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h dskchdsk.c
dskenq.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\kernel.h dskenq.c
dskio.obj: ..\h\dos.asm dskio.asm
dskmkfs.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\mark.h dskmkfs.c
dskname.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\io.h $(H)\mem.h $(H)\kernel.h $(H)\mark.h $(H)\proc.h dskname.c
dskqopt.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\kernel.h dskqopt.c
dsksync.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\kernel.h $(H)\mark.h $(H)\proc.h dsksync.c
dskzap.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\io.h $(H)\mem.h $(H)\kernel.h $(H)\mark.h $(H)\proc.h dskzap.c
dsnap.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\kernel.h dsnap.c
dsopen.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h dsopen.c
dsread.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\kernel.h $(H)\mark.h $(H)\proc.h dsread.c
dsseek.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\kernel.h $(H)\mark.h $(H)\proc.h dsseek.c
dswrite.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\kernel.h $(H)\mark.h $(H)\proc.h dswrite.c
format.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\name.h format.c
ibclear.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h ibclear.c
ibget.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\mark.h ibget.c
iblfree.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\io.h $(H)\mem.h $(H)\kernel.h iblfree.c
ibnew.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\io.h $(H)\mem.h $(H)\kernel.h ibnew.c
ibput.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\io.h $(H)\mem.h $(H)\kernel.h $(H)\mark.h ibput.c
isanmf.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h $(H)\mffile.h isanmf.c
lfclose.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\proc.h lfclose.c
lfgetc.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\proc.h lfgetc.c
lfinit.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h lfinit.c
lfopen.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h lfopen.c
lfputc.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\proc.h lfputc.c
lfread.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h lfread.c
lfsdfree.obj: $(H)\bufpool.h $(H)\mark.h $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\mark.h lfsdfree.c
lfseek.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h lfseek.c
lfsetup.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h lfsetup.c
lfsflush.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h lfsflush.c
lfsnewd.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h lfsnewd.c
lfwrite.obj: $(H)\conf.h $(H)\kernel.h lfwrite.c
remove.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\mem.h $(H)\name.h remove.c
rename.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\mem.h $(H)\name.h rename.c
