lisp: lisp.o math.o memory.o read.o print.o gc.o error.o util.o eval.o globals.o 
	cc -g -o lisp lisp.o memory.o math.o read.o print.o gc.o error.o util.o eval.o globals.o -lm

.c.o:
	cc -g -c $*.c

lisp.o: lisp.c lisp.h
math.o: math.c lisp.h
memory.o: memory.c lisp.h
read.o: read.c lisp.h
print.o: print.c lisp.h
gc.o: gc.c lisp.h
error.o: error.c lisp.h
util.o: util.c lisp.h
eval.o: eval.c lisp.h
globals.o: globals.c lisp.h

print:
	imprint -2 -O lisp.doc lisp-init.l test.l test.out mytest.l mytest.out lisp.h lisp.c globals.c memory.c print.c read.c util.c math.c error.c eval.c gc.c 

clean:
	rm *.o lisp
