
#
# %M%: version %I% of %H%
#
# makefile for ramless or rom monitor 
#

INC5	= ../INC5
PFX	= n
CPP	= /lib/${PFX}cpp
CF	= -O
CC	= ${PFX}cc
AS	= ${PFX}as
AR	= ${PFX}ar

.SUFFIXES: .o .s 

.PRECIOUS: raml.a

3200HEADERS = \
	$(INC5)/3200addr.2a.h $(INC5)/3200conf.2a.h $(INC5)/3200info.2a.h \
	$(INC5)/3200uart.2a.h $(INC5)/3200vctr.2a.h \
	$(INC5)/32032.h $(INC5)/3200icu.h $(INC5)/3200mmu.h

HEADERS = \
	$(INC5)/ais.h $(INC5)/ascii.h $(INC5)/cflags.h $(INC5)/memmap.h \
	$(INC5)/mondef.h $(INC5)/monitor.h \
	$(INC5)/promhdr.h $(INC5)/monflags.h $(INC5)/vctype.h \
	$(INC5)/vmdispatch.h

RAMLESS = \
	romarg.s romcmd.s romsub.s romio.s romhelp.s


all: raml

diag:	romdiag.o diagmsg.o

raml: raml.a

raml.a: raml.s raml.a(raml.o) 

raml.s: ${3200HEADERS} ${HEADERS} ${RAMLESS} 
	cat ${RAMLESS} > raml.s

# imm.sed:
# s/SQ:\(.\)/\$\'\1\'/g
# else use the following shell command
# sed -e "s/\\$$//g" -e "s/SQ:/\$'/g"> X$*.s

.s.a:
	${CPP} -P -I$(INC5) $*.s | sed -f imm.sed> CPPxxtmp.s
	$(AS) -o $*.o CPPxxtmp.s
	$(AR) rvl raml.a $*.o
	-rm -f $*.o CPPxxtmp.s

.s.o:
	${CPP} -P -I$(INC5) $*.s | sed -f imm.sed> CPPxxtmp.s
	$(AS) -o $*.o CPPxxtmp.s
	-rm -f CPPxxtmp.s

.c.a:
	${CC} -c -I$(INC5) ${CF} $*.c
	$(AR) rvl raml.a $*.o 
	-rm -f $*.o 

raml.a(raml.o): raml.s
diagmsg.o: ${3200HEADERS} ${HEADERS}
romdiag.o: ${3200HEADERS} ${HEADERS}
