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

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

d_alg = ../d_alg/d_alg.e
d_alg += ../d_alg/d_alg.h

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

sim = read.o
sim += init_ckt.o
sim += compute_val.o
sim += event_list_mngr.o
sim += event_processor.o
sim += evaluator.o
sim += scheduler.o
sim += delay_models.o
sim += controller.o
sim += print.o
sim += init.o

../bin/gsim : gsim.o $(sim) $(parser) 
	cc  gsim.o $(sim) $(parser) -o ../bin/gsim

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

read.o : $(global)  sim.g sim.h read.c
	cc -c  read.c

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

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

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

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

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

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

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

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

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

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