# 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 = xutil.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 = abs.obj ascdate.obj atoi.obj atol.obj bcopy.obj butler.obj bzero.obj \
call.obj cksum.obj doprnt.obj doscan.obj fgets.obj fprintf.obj fputs.obj \
getdtime.obj gets.obj index.obj kprintf.obj mem.obj printf.obj psnap.obj \
puts.obj qsort.obj rand.obj rindex.obj scanf.obj sprintf.obj strcat.obj \
strcmp.obj strcpy.obj strlen.obj strncat.obj strncmp.obj strncpy.obj swab.obj \
tsnap.obj 

update:
	@make -DUPDATE all

all: $(OBJS)

objs: all

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

clean:
	del *.obj

make:
	makemake

xref:
	objxref @xmodules


abs.obj: abs.c
ascdate.obj: $(H)\conf.h $(H)\date.h $(H)\kernel.h ascdate.c
atoi.obj: atoi.c
atol.obj: atol.c
bcopy.obj: bcopy.c
butler.obj: $(H)\butler.h $(H)\conf.h $(H)\kernel.h butler.c
bzero.obj: bzero.c
call.obj: $(H)\conf.h $(H)\dos.h $(H)\kernel.h $(H)\proc.h call.c
cksum.obj: cksum.c
doprnt.obj: $(H)\dos.h doprnt.c
doscan.obj: $(H)\ctype.h doscan.c
fgets.obj: fgets.c
fprintf.obj: fprintf.c
fputs.obj: fputs.c
getdtime.obj: $(H)\conf.h $(H)\dos.h $(H)\kernel.h getdtime.c
gets.obj: gets.c
index.obj: index.c
kprintf.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h $(H)\tty.h $(H)\window.h $(H)\vidio.h kprintf.c
mem.obj: $(H)\conf.h $(H)\dos.h $(H)\kernel.h $(H)\mem.h mem.c
printf.obj: $(H)\conf.h $(H)\kernel.h printf.c
psnap.obj: $(H)\conf.h $(H)\dos.h $(H)\kernel.h $(H)\proc.h $(H)\q.h psnap.c
puts.obj: puts.c
qsort.obj: qsort.c
rand.obj: rand.c
rindex.obj: rindex.c
scanf.obj: $(H)\conf.h $(H)\io.h $(H)\mem.h $(H)\kernel.h $(H)\tty.h $(H)\window.h scanf.c
sprintf.obj: $(H)\conf.h $(H)\kernel.h sprintf.c
strcat.obj: strcat.c
strcmp.obj: strcmp.c
strcpy.obj: strcpy.c
strlen.obj: strlen.c
strncat.obj: strncat.c
strncmp.obj: strncmp.c
strncpy.obj: strncpy.c
swab.obj: swab.c
tsnap.obj: $(H)\conf.h $(H)\kernel.h $(H)\sem.h $(H)\tty.h $(H)\window.h tsnap.c
