CC =		cc
#CFLAGS =	-g

LPRFLAGS =	-Pucbvax

OBJ1 =		LR0.o allocate.o closure.o conflicts.o derives.o files.o
OBJ2 =		getargs.o gram.o lalr.o lex.o main.o nullable.o output.o
OBJ3 =		print.o reader.o symtab.o warshall.o
OBJECTS = 	$(OBJ1) $(OBJ2) $(OBJ3)

CFILES1 =	LR0.c allocate.c closure.c conflicts.c derives.c files.c
CFILES2 =	getargs.c gram.c lalr.c lex.c main.c nullable.c output.c
CFILES3 =	print.c reader.c symtab.c warshall.c
CFILES =	$(CFILES1) $(CFILES2) $(CFILES3)

FILES1 =	Makefile files.h gram.h lex.h machine.h new.h state.h
FILES2 =	symtab.h types.h
FILES =		$(FILES1) $(FILES2) $(CFILES)

start :		bison

listing :
		pr $(FILES) | lpr $(LPRFLAGS)

lint :
		lint $(CFILES)

clean :
		rm -f *.o

bison :		$(OBJECTS)
		$(CC) -o bison $(OBJECTS)

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

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

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

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

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

files.o :	files.c files.h
		$(CC) $(CFLAGS) -c files.c

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

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

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

lex.o :		lex.c lex.h
		$(CC) $(CFLAGS) -c lex.c

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

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

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

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

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

symtab.o :	symtab.c symtab.h
		$(CC) $(CFLAGS) -c symtab.c

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