# 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 = pipalloc.obj pipclose.obj pipgetc.obj pipinit.obj pipopen.obj \
pipputc.obj pipread.obj pipwrite.obj 

update:
	@make -DUPDATE all

all: $(OBJS)

objs: all

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

clean:
	del *.obj

make:
	makemake

xref:
	objxref @xmodules


pipalloc.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\pipe.h pipalloc.c
pipclose.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\pipe.h $(H)\proc.h pipclose.c
pipgetc.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\pipe.h $(H)\proc.h pipgetc.c
pipinit.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\pipe.h $(H)\proc.h pipinit.c
pipopen.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\pipe.h pipopen.c
pipputc.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\pipe.h pipputc.c
pipread.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\pipe.h $(H)\proc.h pipread.c
pipwrite.obj: $(H)\conf.h $(H)\kernel.h $(H)\xtypes.h $(H)\pipe.h pipwrite.c
