# ***************************************
# * copyright (c) Vanden Berghen Frank  *
# * V 3.0                               *
# ***************************************
# makefile for the glaverbel project.

all : generate generateRR generateStRR generateBoosted ask ask2 coherence \
      validate comp distr dataTestGen cutDS 

#OPTIONS= -g -Wall
OPTIONS= -O3

C45LIB= BAGFSC45.cpp classifier.cpp DataSet.cpp textUtils.cpp \
        RRBAGFSC45.cpp tools.cpp

C45GENLIB= build.cpp prune.cpp 

C45LIBH= BAGFSC45.h classifier.h DataSet.h textUtils.h RRBAGFSC45.h \
         tools.h C45.h definitions.h 

generate : $(C45LIB) $(C45GENLIB) $(C45LIBH) C45gen.cpp
	g++ $(OPTIONS) -o kc_generate C45gen.cpp  $(C45LIB) $(C45GENLIB) 
generateBoosted : $(C45LIB) $(C45GENLIB) $(C45LIBH) boostedC45gen.cpp
	g++ $(OPTIONS) -o kc_generateBoosted boostedC45gen.cpp  $(C45LIB) $(C45GENLIB) 
generateRR : $(C45LIB) $(C45GENLIB) $(C45LIBH) C45gen.cpp
	g++ $(OPTIONS) -o kc_generateRR RRC45gen.cpp  $(C45LIB) $(C45GENLIB) 
generateStRR : $(C45LIB) $(C45GENLIB) $(C45LIBH) C45gen.cpp
	g++ $(OPTIONS) -o kc_generateStackedRR stackedRRGen.cpp  $(C45LIB) $(C45GENLIB) 
ask: $(C45LIB) $(C45LIBH) ask_class.cpp
	g++ $(OPTIONS) -o kc_ask -D__NO_DATASET__ ask_class.cpp  $(C45LIB)
ask2: $(C45LIB) $(C45LIBH) ask_class2.cpp
	g++ $(OPTIONS) -o kc_ask2 -D__EVAL_ONLY__ ask_class2.cpp $(C45LIB)
cutDS: DataSet.cpp DataSet.h cutDS.cpp tools.cpp tools.h textUtils.cpp \
       textUtils.h
	g++ $(OPTIONS) -o kc_cutDS DataSet.cpp cutDS.cpp tools.cpp textUtils.cpp
coherence: $(C45LIB) $(C45GENLIB) $(C45LIBH) coherence.cpp
	g++ $(OPTIONS) -o kc_coherence coherence.cpp  $(C45LIB) $(C45GENLIB) 
validate: $(C45LIB) $(C45LIBH) validate.cpp
	g++ $(OPTIONS) -o kc_validate -D__EVAL_ONLY__ validate.cpp  $(C45LIB)
comp: $(C45LIB) $(C45LIBH) comp.cpp
	g++ $(OPTIONS) -o kc_comp -D__EVAL_ONLY__ comp.cpp  $(C45LIB)
distr: textUtils.cpp distr.cpp textUtils.h
	g++ $(OPTIONS) -o kc_distr distr.cpp textUtils.cpp
dataTestGen: data_gen.cpp tools.cpp tools.h
	g++ $(OPTIONS) -o kc_dataTestGen data_gen.cpp tools.cpp

clean:
	rm kc_generate
	rm kc_generateRR
	rm kc_generateStackedRR
	rm kc_generateBoosted
	rm kc_cutDS
	rm kc_ask
	rm kc_ask2
	rm kc_coherence
	rm kc_validate
	rm kc_comp
	rm kc_distr
	rm kc_dataTestGen
	rm *~
	rm CL_*.txt
	rm confusion_matrixV.txt
	rm confusion_matrixC.txt
	rm distribution.txt
