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 += sim.h
defs += sim.e

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

parser = /home/poisson3/ee658/parser/y.tab.o
parser += /home/poisson3/ee658/parser/lex.yy.o
parser += /home/poisson3/ee658/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

gsim : gsim.o $(sim) $(parser) 
	cc -g gsim.o $(sim) $(parser) -o gsim

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

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

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

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

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

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

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

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

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

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

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

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