# set GRAPHICS to either YES or NO
# set INCLUDE to the either relative or absolute location of the header files

GRAPHICS= NO
INCLUDE= ../Source

# don't touch anything below here

INC= $(INCLUDE)/dstruct.h $(INCLUDE)/iterators.h $(INCLUDE)/multiplicative.h $(INCLUDE)/pricing.h $(INCLUDE)/treenode.h $(INCLUDE)/underlying.h $(INCLUDE)/visitor.h $(INCLUDE)/derivative/americanPut.h $(INCLUDE)/derivative/averageStrikeEuropeanCall.h $(INCLUDE)/derivative/averageStrikeAmericanPut.h $(INCLUDE)/derivative/europeanCall.h $(INCLUDE)/derivative/europeanPut.h $(INCLUDE)/underlying/binom.h $(INCLUDE)/underlying/binom2.h $(INCLUDE)/underlying/timeHalvingTrinom.h

ifeq (YES, $(GRAPHICS))
	LIBS := -lm -lgd -lpng
	ENABLE := -DGRAPHICS=1
else
	LIBS := -lm
	ENABLE := 
endif

all: generate values testlib

values: values.o 
	g++ -g -o values values.o $(LIBS)

values.o: values.cpp $(INC)
	g++ -I$(INCLUDE) $(ENABLE) -Wall -g -c values.cpp

testlib: testlib.o 
	g++ -g -o testlib testlib.o $(LIBS)

testlib.o: testlib.cpp $(INC)
	g++ -I$(INCLUDE) $(ENABLE) -Wall -g -c testlib.cpp


generate: generate.o
	gcc generate.o -o generate

generate.o: generate.c
	gcc -Wall -ansi -c generate.c	

clean: 
	rm -f *~ *.o *.png generate values testlib