CFLAGS = -O
.SUFFIXES: .L
LOUT = conf.L iotab.L
OBJ = zero.o conf.o iotab.o longops.o ldiv.o

.c.L:
	@/lib/cpp -Dlint $< | /usr/lib/lint/lint1 -dhn-L$< > $@
.s.L:
	@/lib/cpp -Dlint $< | /usr/lib/lint/lint1 -dhn-L$< > $@
.c.o:
	cc -c $(CFLAGS) $<
.s.o:
	cc -c $<

uts:    $(OBJ) ../sys/a.out ../dev/libdev.a
	@-echo Linking.
	@ld -o uts -X $(OBJ) ../sys/a.out ../dev/libdev.a
	@size uts

../sys/a.out: dummy
	cd ../sys; make
../dev/libdev.a: dummy
	cd ../dev; make

lint:   lints ../sys/lints ../dev/lints
	@echo Linting.;cat lints ../sys/lints ../dev/lints | sort -u | /usr/lib/lint/lint2 -hn
lints:  $(LOUT)
	@cat $(LOUT) > lints
../sys/lints: dummy
	cd ../sys;make lints
../dev/lints: dummy
	cd ../dev;make lints
dummy:  ;

conf.L:         conf.c
iotab.L:        iotab.c

conf.o conf.L:        conf.c    ../h/param.h ../h/systm.h ../h/buf.h \
				../h/tty.h ../h/conf.h ../h/proc.h \
				../h/dir.h ../h/user.h ../h/text.h \
				../h/file.h ../h/inode.h 
iotab.o iotab.L:      iotab.c   ../h/io.h ../h/ios.h
ldiv.o:               /usr/src/libc/crt/ldiv.s
	as -u -o $@ $?
longops.o:            /usr/src/libc/crt/longops.c
	cc -c $(CFLAGS) $?
zero.o:               zero.s

