CC = cc -g -pg
CFLAGS = -V -Iinc

USERDRIVER = clk.o # rk11.o
STDDRIVER = reg.o cons.o ltc.o
DRIVERO = $(STDDRIVER) $(USERDRIVER)

DISASO = disas11.o heapsort.o
ASO = as11.o asm-parse.o htable.o copyof.o heapsort.o
PDPO = pdp11.o heapsort.o instrs.o finstrs.o instr-aux.o drivers.o $(DRIVERO)

SHARSRC =\
	README\
	*.doc\
	KDJ11-A KDJ11-A.instrs.byname KDJ11-A.instrs.byvalue\
	Makefile\
	*.fsm\
	*.c\
	*.h\
	*.s11\
	inc

.SUFFIXES: .s11 .l11 .o11

all: as11 disas11 pdp11 test.o11

ALWAYS:

trydist:
	rm -f *.o
	( unset LD_LIBRARY_PATH ; make $(MFLAGS) CC=/bin/cc CFLAGS=-Iinc )

pdp11: $(PDPO)
	$(CC) -o pdp11 $(PDPO) $(TRACE)

as11: $(ASO)
	$(CC) -o as11 $(ASO) $(TRACE)

disas11: $(DISASO)
	$(CC) -o disas11 $(DISASO) $(TRACE)

asm-parse.c: asm-parse.fsm
	fsm < asm-parse.fsm > asm-parse.c

pdp11.shar: ALWAYS
	shar -o pdp11.shar -r $(SHARSRC)

aux.shar: ALWAYS
	shar -o aux.shar -C aux -r .

pdp11.shar.Z: pdp11.shar
	compress < pdp11.shar > pdp11.shar.Z

pdp11.shar.Z.btoa: pdp11.shar.Z
	btoa < pdp11.shar.Z > pdp11.shar.Z.btoa

fcvt-exptab: fcvt-exptab-gen
	fcvt-exptab-gen > fcvt-exptab

fcvt-exptab-gen: fcvt-exptab-gen.o
	$(CC) -o fcvt-exptab-gen fcvt-exptab-gen.o $(TRACE)

fcvt-mantbits: fcvt-mantbits-gen
	fcvt-mantbits-gen > fcvt-mantbits

fcvt-mantbits-gen: fcvt-mantbits-gen.o
	$(CC) -o fcvt-mantbits-gen fcvt-mantbits-gen.o $(TRACE)

# -M output from some ccs includes a leading ./ on local includes....

./fcvt-exptab: fcvt-exptab

./fcvt-mantbits: fcvt-mantbits

# grrr, some (most? all?) makes don't listen to the dependency on as11 on these next two lines....
# not much to do about it!

.s11.o11: as11
	as11 -o $*.o11 -l $*.l11 $*.s11

.s11.l11: as11
	as11 -o $*.o11 -l $*.l11 $*.s11

depend:
	( echo '/^# DO NOT DELETE/+2,$$c' ; \
	  $(CC) -M $(CFLAGS) *.c | sort | uniq ; \
	  echo . ; \
	  echo w ; \
	  echo q ) | ed - Makefile

# DO NOT DELETE THIS LINE

as11.o: ./fcvt-exptab
as11.o: ./fcvt-mantbits
as11.o: ./instrtbl.h
as11.o: ./pdp11types.h
as11.o: /home/shamash/mouse/sun4/include/stdio.h
as11.o: /local/mouse/include/stdio.h
as11.o: /usr/include/ctype.h
as11.o: /usr/include/strings.h
as11.o: /usr/include/varargs.h
as11.o: as11.c
as11.o: inc/fsm.h
as11.o: inc/htable.h
as11.o: inc/malloc.h
asm-parse.o: ./instrtbl.h
asm-parse.o: ./pdp11types.h
asm-parse.o: /usr/include/ctype.h
asm-parse.o: asm-parse.c
asm-parse.o: inc/fsm.h
clk.o: ./driver.h
clk.o: ./pdp11.h
clk.o: ./pdp11types.h
clk.o: /local/X11/include/sys/stdtypes.h
clk.o: /usr/include/sys/time.h
clk.o: /usr/include/time.h
clk.o: clk.c
cons.o: ./driver.h
cons.o: ./pdp11.h
cons.o: ./pdp11types.h
cons.o: /home/shamash/mouse/sun4/include/stdio.h
cons.o: /local/X11/include/sys/stdtypes.h
cons.o: /local/mouse/include/stdio.h
cons.o: /usr/include/fcntl.h
cons.o: /usr/include/sgtty.h
cons.o: /usr/include/signal.h
cons.o: /usr/include/sys/fcntlcom.h
cons.o: /usr/include/sys/filio.h
cons.o: /usr/include/sys/ioccom.h
cons.o: /usr/include/sys/ioctl.h
cons.o: /usr/include/sys/signal.h
cons.o: /usr/include/sys/sockio.h
cons.o: /usr/include/sys/stat.h
cons.o: /usr/include/sys/sysmacros.h
cons.o: /usr/include/sys/ttold.h
cons.o: /usr/include/sys/ttychars.h
cons.o: /usr/include/sys/ttycom.h
cons.o: /usr/include/sys/ttydev.h
cons.o: /usr/include/sys/types.h
cons.o: /usr/include/vm/faultcode.h
cons.o: cons.c
cons.o: inc/signaltype.h
copyof.o: copyof.c
disas11.o: ./disas-common
disas11.o: ./instrtbl.h
disas11.o: ./pdp11types.h
disas11.o: /home/shamash/mouse/sun4/include/stdio.h
disas11.o: /local/mouse/include/stdio.h
disas11.o: /usr/include/varargs.h
disas11.o: disas11.c
drivers.o: ./driver.h
drivers.o: ./pdp11.h
drivers.o: ./pdp11types.h
drivers.o: drivers.c
fcvt-exptab-gen.o: /home/shamash/mouse/sun4/include/stdio.h
fcvt-exptab-gen.o: /local/mouse/include/stdio.h
fcvt-exptab-gen.o: fcvt-exptab-gen.c
fcvt-mantbits-gen.o: fcvt-mantbits-gen.c
finstrs.o: ./pdp11.h
finstrs.o: ./pdp11types.h
finstrs.o: finstrs.c
heapsort.o: heapsort.c
htable.o: /home/shamash/mouse/sun4/include/stdio.h
htable.o: /local/mouse/include/stdio.h
htable.o: htable.c
htable.o: inc/malloc.h
instr-aux.o: ./driver.h
instr-aux.o: ./driverint.h
instr-aux.o: ./pdp11.h
instr-aux.o: ./pdp11types.h
instr-aux.o: instr-aux.c
instrs.o: ./driver.h
instrs.o: ./pdp11.h
instrs.o: ./pdp11types.h
instrs.o: instrs.c
lp11.o: ./driver.h
lp11.o: ./pdp11.h
lp11.o: ./pdp11types.h
lp11.o: lp11.c
ltc.o: ./driver.h
ltc.o: ./pdp11.h
ltc.o: ./pdp11types.h
ltc.o: /local/X11/include/sys/stdtypes.h
ltc.o: /usr/include/signal.h
ltc.o: /usr/include/sys/signal.h
ltc.o: /usr/include/sys/time.h
ltc.o: /usr/include/time.h
ltc.o: /usr/include/vm/faultcode.h
ltc.o: inc/signaltype.h
ltc.o: ltc.c
odt.o: ./driver.h
odt.o: ./driverint.h
odt.o: ./instrtbl.h
odt.o: ./pdp11.h
odt.o: ./pdp11types.h
odt.o: /home/shamash/mouse/sun4/include/stdio.h
odt.o: /local/X11/include/sys/stdtypes.h
odt.o: /local/mouse/include/stdio.h
odt.o: /usr/include/machine/setjmp.h
odt.o: /usr/include/setjmp.h
odt.o: /usr/include/signal.h
odt.o: /usr/include/sys/signal.h
odt.o: /usr/include/vm/faultcode.h
odt.o: inc/signaltype.h
odt.o: odt.c
pdp11.o: ./driver.h
pdp11.o: ./driverint.h
pdp11.o: ./instrs.h
pdp11.o: ./instrtbl.h
pdp11.o: ./pdp11.h
pdp11.o: ./pdp11types.h
pdp11.o: /home/shamash/mouse/sun4/include/stdio.h
pdp11.o: /local/X11/include/sys/stdtypes.h
pdp11.o: /local/mouse/include/stdio.h
pdp11.o: /usr/include/machine/setjmp.h
pdp11.o: /usr/include/setjmp.h
pdp11.o: /usr/include/signal.h
pdp11.o: /usr/include/sys/signal.h
pdp11.o: /usr/include/varargs.h
pdp11.o: /usr/include/vm/faultcode.h
pdp11.o: inc/signaltype.h
pdp11.o: pdp11.c
reg.o: ./driver.h
reg.o: ./pdp11.h
reg.o: ./pdp11types.h
reg.o: reg.c
rk11.o: ./driver.h
rk11.o: ./pdp11.h
rk11.o: ./pdp11types.h
rk11.o: /local/X11/include/sys/stdtypes.h
rk11.o: /local/mouse/include/.supplied/sys/file.h
rk11.o: /local/mouse/include/sys/file.h
rk11.o: /usr/include/fcntl.h
rk11.o: /usr/include/sys/fcntlcom.h
rk11.o: /usr/include/sys/stat.h
rk11.o: /usr/include/sys/sysmacros.h
rk11.o: /usr/include/sys/types.h
rk11.o: rk11.c
y.o: /home/shamash/mouse/sun4/include/stdio.h
y.o: /local/mouse/include/stdio.h
y.o: inc/malloc.h
y.o: y.c
                     