global = /home/poisson3/ee658/global.h
global += /home/poisson3/ee658/global.g
global += /home/poisson3/ee658/global.e

defs = /home/poisson3/ee658/global.h
defs += /home/poisson3/ee658/global.e
defs += d_alg.h
defs += d_alg.e

parser = /home/poisson3/ee658/parser/y.tab.o
parser += /home/poisson3/ee658/parser/lex.yy.o
parser += /home/poisson3/ee658/parser/fc_lists.o

d_alg = test_gen.o
d_alg += d_alg.o
d_alg += choose.o
d_alg += compute_val.o
d_alg += just_act.o
d_alg += justify.o
d_alg += imply_and_check.o
d_alg += lists.o
d_alg += drive_act.o
d_alg += undo.o
d_alg += print.o

gen_tests : gen_tests.o $(d_alg) $(parser)
	cc gen_tests.o $(d_alg) $(parser) -o gen_tests

gen_tests.o : $(global) d_alg.e d_alg.h gen_tests.c
	cc  -c gen_tests.c

test_gen.o : $(global) d_alg.g d_alg.h test_gen.c
	cc  -c test_gen.c

d_alg.o : $(defs) d_alg.c
	cc  -c d_alg.c

choose.o : $(defs) choose.c
	cc  -c choose.c

compute_val.o : $(defs) compute_val.c
	cc  -c compute_val.c

just_act.o : $(defs) just_act.c
	cc  -c just_act.c

justify.o : $(defs) justify.c
	cc  -c justify.c

imply_and_check.o : $(defs) imply_and_check.c
	cc  -c imply_and_check.c

lists.o : $(defs) lists.c
	cc  -c lists.c

drive_act.o : $(defs) drive_act.c
	cc  -c drive_act.c

undo.o : $(defs) undo.c
	cc  -c undo.c

print.o : $(defs) print.c
	cc  -c print.c

