#
# Makefile for CS152 impcore
#

SUBMIT   = /usr/local/bin/submit
SOURCES  = ast.c env.c error.c eval.c exp-code.c fun-code.c fun.c impcore.c \
	   lex.c list-code.c name.c par-code.c parse.c print.c read.c \
	   toplevel-code.c value.c 
HEADERS  = all.h
OBJECTS  = $(SOURCES:.c=.o)
RESULT   = impcore

CC = gcc
CFLAGS = -g -Wall -ansi -pedantic -D_GCC
CPPFLAGS = -I.
RM = rm -f

.SUFFIXES:
.SUFFIXES: .c .o

$(RESULT): $(OBJECTS)
	$(CC) -o $@ $(OBJECTS)

.c.o:
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<

clean:
	$(RM) $(RESULT) *.o *.core core *~


ast.o: $(HEADERS) ast.c
env.o: $(HEADERS) env.c
error.o: error.c
eval.o: $(HEADERS) eval.c
exp-code.o: $(HEADERS) exp-code.c
fun-code.o: $(HEADERS) fun-code.c
fun.o: $(HEADERS) fun.c
impcore.o: $(HEADERS) impcore.c
lex.o: $(HEADERS) lex.c
list-code.o: $(HEADERS) list-code.c
name.o: $(HEADERS) name.c
par-code.o: $(HEADERS) par-code.c
parse.o: $(HEADERS) parse.c
print.o: $(HEADERS) print.c
read.o: $(HEADERS) read.c
toplevel-code.o: $(HEADERS) toplevel-code.c
value.o: $(HEADERS) value.c
