# 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) -I$(H) $<
!ifdef UPDATE
	$(LIB) $(L)\$(LIBFILE) $(LIBFLAGS) -+$*
!endif

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

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

OBJS = doscall.obj mfalloc.obj mfclose.obj mfdsrch.obj mfgetc.obj mfinit.obj \
mfputc.obj mfread.obj mfseek.obj mfsetup.obj mfsflush.obj mfwrite.obj \
mscntl.obj msopen.obj 

update:
	@make -DUPDATE all

all: $(OBJS)

objs: all

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

clean:
	del *.obj

make:
	makemake

xref:
	objxref @xmodules


doscall.obj: $(H)\conf.h $(H)\dos.h $(H)\xtypes.h $(H)\kernel.h $(H)\xtypes.h doscall.c
mfalloc.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h mfalloc.c
mfclose.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h $(H)\proc.h mfclose.c
mfdsrch.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h mfdsrch.c
mfgetc.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h $(H)\proc.h $(H)\tty.h $(H)\window.h mfgetc.c
mfinit.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h mfinit.c
mfputc.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h $(H)\proc.h $(H)\tty.h $(H)\window.h mfputc.c
mfread.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h mfread.c
mfseek.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h mfseek.c
mfsetup.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h mfsetup.c
mfsflush.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h mfsflush.c
mfwrite.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h mfwrite.c
mscntl.obj: $(H)\conf.h $(H)\disk.h $(H)\dir.h $(H)\iblock.h $(H)\file.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h mscntl.c
msopen.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\mffile.h msopen.c
