OBJS = Main.o Input.o FunctionInput.o Constructor.o Selector.o Structure.o \
       Fun.o Function.o FunTree.o Term.o TermInput.o BoolExp.o BExpInput.o \
       temps.o Error.o Parameter.o Cond.o StrucInput.o Name.o Rule.o VPArray.o \
	SingleSub.o Sub.o DB.o 
       
a: $(OBJS)
	g++ -o a $(OBJS)

Main.o: Main.c Main.h Input.h Globals.h
	g++ -c Main.c


Input.o: Input.c Input.h FunctionInput.h 
	g++ -c Input.c

FunctionInput.o: FunctionInput.c FunctionInput.h Cond.h Parameter.h Function.h TermInput.h \
                 BExpInput.h StrucInput.h FunTree.h Error.h
	g++ -c FunctionInput.c


Constructor.o: Constructor.c Constructor.h Defs.h List.h Selector.h Fun.h
	g++ -c Constructor.c


Selector.o: Selector.c Selector.h Defs.h Fun.h
	g++ -c Selector.c

Structure.o: Structure.c Structure.h Constructor.h Structure.h Defs.h Selector.h List.h
	g++ -c Structure.c

Fun.o: Fun.c Fun.h
	g++ -c Fun.c


Function.o: Function.c Function.h Cond.h Term.h Parameter.h BoolExp.h List.h Fun.h Error.h
	g++ -c Function.c

FunTree.o: FunTree.c FunTree.h Fun.h Defs.h
	g++ -c FunTree.c


Term.o: Term.c Term.h Structure.h List.h Defs.h FunTree.h
	g++ -c Term.c

TermInput.o: TermInput.c TermInput.h Term.h Defs.h Error.h Function.h
	g++ -c TermInput.c

BoolExp.o: BoolExp.c BoolExp.h  Defs.h Term.h
	g++ -c BoolExp.c

BExpInput.o: BExpInput.c BExpInput.h BoolExp.h Error.h TermInput.h
	g++ -c BExpInput.c


temps.o: List.h List.c ListIt.h ListIt.c Selector.h Constructor.h \
         Structure.h Term.h Parameter.h Cond.h
	g++ -c -fno-implicit-templates temps.c

Error.o: Error.c Error.h
	g++ -c Error.c

Parameter.o: Parameter.c Parameter.h Structure.h
	g++ -c Parameter.c

Cond.o: Cond.c Cond.h Term.h BoolExp.h
	g++ -c Cond.c

StrucInput.o: StrucInput.c StrucInput.h Selector.h Constructor.h Structure.h Name.h \
              Defs.h FunTree.h
	g++ -c StrucInput.c

Name.o: Name.c Name.h Selector.h Constructor.h Structure.h
	g++ -c Name.c

Rule.o: Rule.c Rule.h Term.h List.h ListIt.h Error.h
	g++ -c Rule.c

SingleSub.o: SingleSub.c SingleSub.h Term.h List.h ListIt.h Error.h
	g++ -c SingleSub.c

Sub.o: Sub.c Sub.h Term.h TermInput.h SingleSub.h List.h ListIt.h Error.h
	g++ -c Sub.c

DB.o: DB.c DB.h Rule.h Sub.h List.h ListIt.h
	g++ -c DB.c

VPArray.o: VPArray.c VPArray.h 
	g++ -c VPArray.c





