# Tunables:
#
#	-DNDL11=n	Configure n [1-4] DL11 lines
#	-DUSEKL		Use the original Supnik KL-11 driver for the console
#	-DBIDIR_POPEN	For FreeBSD 2.2.6 and later, NetBSD 1.4 and later, and
#			other machines that have bidirectional popen(3) calls.

# To configure for an original Supnik configuration (1 KL11 console line only)
#TUNABLES     = -DUSEKL

# For the original Supnik console plus 3 DL11 lines (NDL11=4 -- the first is
# displaced by the Supnik KL11 code.
#TUNABLES     = -DUSEKL -DNDL11=4

# For four of the new DL11 serial lines, the first as the console
TUNABLES      = -DNDL11=4 -DUSEKL

# Use -Wall and -pedantic to spooge bad coding warnings.  
# Use -Werror to force them to cause the compiler to refuse them.
# Use -g for gdb debugging

DEFINES	      =	-Wall -pedantic -ansi

CFLAGS	      = -g $(DEFINES) $(TUNABLES) -I../common

HDRS	      = pdp11_defs.h
HDRS2	      = ../common/
CC	      = gcc
LD	      = $(CC)

# You might prefer -lm here instead of libm.a in LIBS
LDFLAGS	      =
LIBS	      = /usr/lib/libm.a

MAKEFILE      = Makefile

OBJS	      = pdp11_cis.o \
		pdp11_cpu.o \
		pdp11_dl.o \
		pdp11_fp.o \
		pdp11_kl.o \
		pdp11_lp.o \
		pdp11_rk.o \
		pdp11_rl.o \
		pdp11_rp.o \
		pdp11_rx.o \
		pdp11_stddev.o \
		pdp11_sys.o \
		pdp11_tm.o \
		../common/scp.o \
		../common/scp_tty.o

SIMULATOR	= pdp11n 
NETLINE		= ../utils/netline

SRCS	      = pdp11_cis.c \
		pdp11_cpu.c \
		pdp11_dl.c \
		pdp11_fp.c \
		pdp11_kl.c \
		pdp11_lp.c \
		pdp11_rk.c \
		pdp11_rl.c \
		pdp11_rp.c \
		pdp11_rx.c \
		pdp11_stddev.c \
		pdp11_sys.c \
		pdp11_tm.c \
		../common/scp.c \
		../common/scp_tty.c

INCLUDES      = pdp11_defs.h
COMMONSRCS    = scp.c sim_defs.h

all:		$(SIMULATOR) $(NETLINE)

$(SIMULATOR):     $(OBJS) $(LIBS)
		@echo "Linking $(SIMULATOR) ..."
		@$(LD) $(LDFLAGS) $(OBJS) $(LIBS) -o $(SIMULATOR)
		@echo "done"

$(NETLINE):
		(cd ../utils;make netline)

diffs:
		@-for i in $(SRCS) $(INCLUDES); do \
			diff -ruN orig/$$i $$i >$$i.diff; \
		done
		@-for i in $(COMMONSRCS); do \
			diff -ruN ../common/orig/$$i ../common/$$i >$$i.diff; \
		done

clean:
		rm -f $(OBJS) core $(SIMULATOR) tags
		(cd ../common;make clean)

../common/scp.o: ../common/scp.c ../common/sim_defs.h
	(cd ../common; make CFLAGS=-DSIM_CLOCK)
../common/scp_tty.o: ../common/scp_tty.c ../common/sim_defs.h
	(cd ../common; make)

###
pdp11_cis.o: pdp11_defs.h ../common/sim_defs.h
pdp11_cpu.o: pdp11_defs.h ../common/sim_defs.h
pdp11_fp.o: pdp11_defs.h ../common/sim_defs.h
pdp11_lp.o: pdp11_defs.h ../common/sim_defs.h
pdp11_rk.o: pdp11_defs.h ../common/sim_defs.h
pdp11_rl.o: pdp11_defs.h ../common/sim_defs.h
pdp11_rp.o: pdp11_defs.h ../common/sim_defs.h
pdp11_rx.o: pdp11_defs.h ../common/sim_defs.h
pdp11_stddev.o: pdp11_defs.h ../common/sim_defs.h
pdp11_sys.o: pdp11_defs.h ../common/sim_defs.h
pdp11_tm.o: pdp11_defs.h ../common/sim_defs.h
