global = ../global.h
global += ../global.g
global += ../global.e

defs = ../global.h
defs += ../global.e
defs += fsim.h
defs += fsim.e


parser = ../parser/y.tab.o
parser += ../parser/lex.yy.o
parser += ../parser/fc_lists.o


sim  = fault_sim.o
sim += init.o
sim += print.o
sim += read.o
sim += step.o
sim += gen_test.o
sim += stats.o
sim += options.o


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

test_set = ../test_set/test_set.o

min_set = ../min_set/gen_sim.o

fc_defs = ../fc/fc.h
fc_defs += ../fc/fc.e

fc = ../fc/fc.o

../bin/fsim : fsim.o $(sim) $(parser) $(d_alg) $(min_set) $(test_set) 
	cc  fsim.o $(sim) $(parser) $(d_alg) $(min_set) $(test_set) -o ../bin/fsim

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

fault_sim.o : $(global) fsim.g fsim.h fault_sim.c
	cc -c  fault_sim.c

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

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

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

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

gen_test.o : $(defs) gen_test.c
	cc -c  -lm gen_test.c


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

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