CC =		cc
CFLAGS =	-O
OBJS1 =		proff.o proff01.o proff02.o lookup.o pinit.o putwrd.o
OBJS2 =		pxlex.o pxxparse.o dostuff2.o eval.o stack.o map.o
OBJS =		$(OBJS1) $(OBJS2)

proff :		$(OBJS)
		$(CC) -s -o proff $(OBJS)

proff.o :	proff.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) proff.c

proff01.o :	proff01.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) proff01.c

proff02.o :	proff02.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) proff02.c

lookup.o :	lookup.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) lookup.c

pinit.o :	pinit.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) pinit.c

putwrd.o :	putwrd.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) putwrd.c

pxlex.o :	pxlex.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) pxlex.c

pxxparse.o :	pxxparse.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) pxxparse.c

dostuff2.o :	dostuff2.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) dostuff2.c

eval.o :	eval.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) eval.c

stack.o :	stack.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) stack.c

map.o :		map.c lextab.h lextab.d
		$(CC) -c $(CFLAGS) map.c


lextab.h :	ltb proffsym.new
		ltb proffsym.new lextab

lextab.d :	proffsym.new ltb
		ltb proffsym.new lextab

ltb :		ltb.o look.o
		$(CC) -o ltb ltb.o look.o

ltb.o :		ltb.c
		$(CC) -c $(CFLAGS) ltb.c

look.o :	look.c
		$(CC) -c $(CFLAGS) look.c

clean :
		rm proff *.o
arch :
		./archc Makefile *.c *.h proffsym.new >proff.arc
