# TT/CBG C compiler and Assembler for PU17 CPU
CC=gcc
CFLAGS=-g -Wall  

CCOBJS=ccc.o pugen.o parser.o  cpp.o lex.o compile.o 


all:pucc aspu17 test monitorrom

clean:
	rm -f pucc $(CCOBJS)
	rm -f mylinein.s mymon.s prlibc.s main.s labs listing t.s aspu17

test:
	./pucc -A test.c

# The assembler
aspu17:aspu17.c
	$(CC) $(CFLAGS) -o aspu17 aspu17.c

download:download.mcs
	../satest/bohex -poke download.mcs > /dev/ttyS2



prlibc.s:prlibc.c pucc mymachdep.h
	./pucc prlibc.c

mymon.s:mymon.c	pucc mymachdep.h
	./pucc   mymon.c

mylinein.s:mylinein.c pucc	 mymachdep.h
	./pucc  mylinein.c

main.s:pucc main.c pucc mymachdep.h
	./pucc main.c


MONOBJS=pu17hdr.S main.s mymon.s mylinein.s prlibc.s
monitorrom:$(MONOBJS)
	cat $(MONOBJS) > t.s
	./aspu17 -verbose t.s obj listing labs


pucc:$(CCOBJS)
	$(CC) -o pucc $(CCOBJS)
