# Makefile for NEURObjects 2.0
# Applications mi72 mi73 mi74 mi75 mi76 mi77 have been canceled
# Per tutti i file, controllare le nuove corrette include ISO C++, in modo da eliminare le include accettate ma "deprecate"
SOURCE = tset.cc  utils.cc layer.cc net.cc appl.cc ecocnet.cc\
	 act_fun.cc learn.cc build_net.cc  patgen.cc dico.cc decomp.cc polidico.cc \
	 dodata.cc  dofold.cc nn.cc pnd.cc  mutualinfo.cc mutualinfo7.cc chi2.cc outerr.cc \
	 mm.cc doerrfile.cc mi72.cc mi73.cc mi74.cc  mi75.cc mi76.cc subsample.cc NO2light.cc \
	 convert_data_format.cc roc.cc vect.cc matrix.cc basesvml.cc basemlp.cc binomial.cc \
	 bagging.cc bagging-ext.cc snr.cc bootstrapLight.cc bv2decomp.cc lobag.cc \
   multipleLobag.cc stattest.cc randomsubspace.cc
   

OBJECTS_DODATA =  dodata.o	
OBJECTS_DOFOLD =  dofold.o	
OBJECTS_SUBSAMPLE = appl.o	subsample.o
OBJECTS_NO2light = appl.o	NO2light.o
OBJECTS_CONVERT = convert_data_format.o
OBJECTS_NN = appl.o nn.o
OBJECTS_PND = appl.o pnd.o				  
OBJECTS_NN_CV = appl.o nn_cv.o
OBJECTS_PND_CV =   appl.o pnd_cv.o
OBJECTS_MM = utils.o mutualinfo.o mm.o
OBJECTS_MI72 =  mi72.o
OBJECTS_MI73 =  mi73.o
OBJECTS_MI74 =  mi74.o
OBJECTS_MI75 =  mi75.o
OBJECTS_MI76 =  mi76.o
OBJECTS_DOERRFILE = doerrfile.o 
OBJECTS_DODECOMP = dodecomp.o
OBJECTS_PEXIMIZEHD = peximizeHD.o
OBJECTS_CONVERT2 = convert_data_format2.o
OBJECTS_OPTIMIZEHD = optimizeHD.o
OBJECTS_EXTRACT = extract_data.o
OBJECTS_BAGSVM = bagsvm.o
OBJECTS_EXTRLAB = extract_labels_light.o
OBJECTS_SUBLIGHT = subsampleLightData.o
OBJECTS_FILTER_NORM_DATA = filter_norm_data_oligo.o 
OBJECTS_SNR_FEATURE_SEL = SNR_feature_sel.o 
OBJECTS_BUILD_FEATURE_SUB_DATA = build_feature_subset_data.o 
OBJECTS_SNR_FEATURE_RANK = SNR_feature_rank.o 
OBJECTS_BVDECOMP = BVdecomp.o 
OBJECTS_BS = bs.o 
OBJECTS_LOBAGSVM = lobagsvm.o 
OBJECTS_LOBAGSVM_MULTIPLE = lobagsvm_multiple.o 
OBJECTS_MCNEMAR = McNemar.o 
OBJECTS_RESAMPLED_PAIR_T_TEST = resampled_pair_t_test.o
OBJECTS_PARTITIONLIGHTDATA = partitionLightData.o
OBJECTS_RSSVM = rssvm.o
OBJECTS_MAKE_RS_DATA = make_rs_data.o
OBJECTS_RSSVM_CV = rssvm_cv.o
OBJECTS_SVM_CV = svm_cv.o
OBJECTS_COMPUTEBLERR = computeblerr.o
OBJECTS_BUILD_TRANSPOSED = build_data_set_transposed.o
OBJECTS_VARIATION_FILTER = variation_filter.o
OBJECTS_SUB_WITHOUT_LIGHT = subsampleLightData_without_replacement.o
OBJECTS_SPLITLIGHTDATA = splitLightData.o
OBJECTS_DOREL = dorel.o
OBJECTS_COMPUTE_ROC = compute_roc.o
OBJECTS_COMP_SPEC_THRESH = comp_spec_thresh.o

#mutualinfo7.o eliminated
LIBOBJECTS = decomp.o tset.o utils.o layer.o net.o act_fun.o learn.o build_net.o  \
				   dico.o  patgen.o    ecocnet.o appl.o mutualinfo.o \
					 chi2.o outerr.o roc.o vect.o matrix.o  basesvml.o basemlp.o binomial.o bagging.o \
					bagging-ext.o snr.o bootstrapLight.o bv2decomp.o lobag.o multipleLobag.o stattest.o \
					polidico.o mutualinfo7.o randomsubspace.o 


# mi72 mi73 mi74 mi75 mi76 eliminated
APPL = dodata nn  nn_cv   dofold mm	  doerrfile subsample NO2light \
       convert_data_format dodecomp peximizeHD convert_data_format2 optimizeHD extract_data bagsvm \
			 extract_labels_light subsampleLightData filter_norm_data_oligo SNR_feature_sel build_feature_subset_data \
			 SNR_feature_rank BVdecomp bs lobagsvm lobagsvm_multiple McNemar resampled_pair_t_test \
			 pnd pnd_cv partitionLightData rssvm make_rs_data rssvm_cv svm_cv computeblerr build_data_set_transposed \
			 variation_filter subsampleLightData_without_replacement splitLightData dorel compute_roc \
			 comp_spec_thresh

APPLSTATIC = dodata_s nn_s  pnd_s nn_cv_s  pnd_cv_s dofold_s mm_s doerrfile_s subsample_s NO2light_s \
             convert_data_format_s dodecomp_s peximizeHD_s optimizeHD_s bagsvm_s extract_labels_light_s
LIBNO = libNO.a libNO.so 
LIBDIR=lib
LIB = -lNO -lm 
LINKERFLAGS = -L$(LIBDIR) -Wno-deprecated
INCLUDEDIR = 	-I$(NEUROBJ)
OPTIMFLAGS = -O2 -Wno-deprecated
MYCFLAGS = $(CFLAGS) $(INCLUDEDIR) $(OPTIMFLAGS)
APPLDIR = appl
CC = g++

all : $(LIBNO) $(APPL) 
applstatic: $(LIBNO) $(APPLSTATIC)

# building applications using shared libraries
nn : $(OBJECTS_NN) 
	$(CC) $(LINKERFLAGS)  $(OBJECTS_NN) -o $(APPLDIR)/$@ $(LIB) 
	
dodata : $(OBJECTS_DODATA) 
	$(CC)  $(LINKERFLAGS) $(OBJECTS_DODATA) -o $(APPLDIR)/$@  $(LIB) 
	
pnd : $(OBJECTS_PND)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_PND) -o $(APPLDIR)/$@  $(LIB) 
	
nn_cv : $(OBJECTS_NN_CV)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_NN_CV) -o $(APPLDIR)/$@  $(LIB) 
	
pnd_cv : $(OBJECTS_PND_CV)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_PND_CV) -o $(APPLDIR)/$@  $(LIB) 
	
dofold : $(OBJECTS_DOFOLD)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_DOFOLD) -o $(APPLDIR)/$@  $(LIB) 	
	
mm : $(OBJECTS_MM)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_MM) -o $(APPLDIR)/$@  $(LIB)
	
mi72 : $(OBJECTS_MI72)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_MI72) -o $(APPLDIR)/$@ $(LIB) 
	
mi73 : $(OBJECTS_MI73)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_MI73) -o $(APPLDIR)/$@ $(LIB) 
	
mi74 : $(OBJECTS_MI74)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_MI74) -o $(APPLDIR)/$@ $(LIB) 

mi75 : $(OBJECTS_MI75)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_MI75) -o $(APPLDIR)/$@  $(LIB) 
	
mi76 : $(OBJECTS_MI76)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_MI76) -o $(APPLDIR)/$@ $(LIB) 
	
doerrfile : $(OBJECTS_DOERRFILE)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_DOERRFILE) -o $(APPLDIR)/$@  $(LIB) 
	
subsample : $(OBJECTS_SUBSAMPLE)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_SUBSAMPLE) -o $(APPLDIR)/$@  $(LIB)
	
NO2light : $(OBJECTS_NO2light)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_NO2light) -o $(APPLDIR)/$@  $(LIB)
	
convert_data_format : $(OBJECTS_CONVERT)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_CONVERT) -o $(APPLDIR)/$@  $(LIB) 
        
dodecomp : $(OBJECTS_DODECOMP)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_DODECOMP) -o $(APPLDIR)/$@  $(LIB)  

peximizeHD : $(OBJECTS_PEXIMIZEHD)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_PEXIMIZEHD) -o $(APPLDIR)/$@  $(LIB)

convert_data_format2 : $(OBJECTS_CONVERT2)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_CONVERT2) -o $(APPLDIR)/$@  $(LIB)        
	
optimizeHD : $(OBJECTS_OPTIMIZEHD)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_OPTIMIZEHD) -o $(APPLDIR)/$@  $(LIB)
	
extract_data : $(OBJECTS_EXTRACT)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_EXTRACT) -o $(APPLDIR)/$@  $(LIB)
	
bagsvm : $(OBJECTS_BAGSVM)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_BAGSVM) -o $(APPLDIR)/$@  $(LIB)

extract_labels_light : $(OBJECTS_EXTRLAB)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_EXTRLAB) -o $(APPLDIR)/$@  $(LIB)
	
subsampleLightData : $(OBJECTS_SUBLIGHT)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_SUBLIGHT) -o $(APPLDIR)/$@  $(LIB)	
	
filter_norm_data_oligo : $(OBJECTS_FILTER_NORM_DATA)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_FILTER_NORM_DATA) -o $(APPLDIR)/$@  $(LIB)

SNR_feature_sel : $(OBJECTS_SNR_FEATURE_SEL)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_SNR_FEATURE_SEL) -o $(APPLDIR)/$@  $(LIB)

build_feature_subset_data : $(OBJECTS_BUILD_FEATURE_SUB_DATA)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_BUILD_FEATURE_SUB_DATA) -o $(APPLDIR)/$@  $(LIB)	
	
SNR_feature_rank : $(OBJECTS_SNR_FEATURE_RANK)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_SNR_FEATURE_RANK) -o $(APPLDIR)/$@  $(LIB)

BVdecomp : $(OBJECTS_BVDECOMP)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_BVDECOMP) -o $(APPLDIR)/$@  $(LIB)
	
bs : $(OBJECTS_BS)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_BS) -o $(APPLDIR)/$@  $(LIB)

lobagsvm : $(OBJECTS_LOBAGSVM)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_LOBAGSVM) -o $(APPLDIR)/$@  $(LIB)

lobagsvm_multiple : $(OBJECTS_LOBAGSVM_MULTIPLE)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_LOBAGSVM_MULTIPLE) -o $(APPLDIR)/$@  $(LIB)

McNemar : $(OBJECTS_MCNEMAR)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_MCNEMAR) -o $(APPLDIR)/$@  $(LIB)
	
resampled_pair_t_test : $(OBJECTS_RESAMPLED_PAIR_T_TEST)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_RESAMPLED_PAIR_T_TEST) -o $(APPLDIR)/$@  $(LIB)	
	
partitionLightData  :  $(OBJECTS_PARTITIONLIGHTDATA)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_PARTITIONLIGHTDATA) -o $(APPLDIR)/$@  $(LIB)

rssvm  :  $(OBJECTS_RSSVM)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_RSSVM) -o $(APPLDIR)/$@  $(LIB)	

make_rs_data  :  $(OBJECTS_MAKE_RS_DATA)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_MAKE_RS_DATA) -o $(APPLDIR)/$@  $(LIB)	

rssvm_cv  :  $(OBJECTS_RSSVM_CV)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_RSSVM_CV) -o $(APPLDIR)/$@  $(LIB)	
	
svm_cv  :  $(OBJECTS_SVM_CV)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_SVM_CV) -o $(APPLDIR)/$@  $(LIB)	

computeblerr  :  $(OBJECTS_COMPUTEBLERR)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_COMPUTEBLERR) -o $(APPLDIR)/$@  $(LIB)

build_data_set_transposed  :  $(OBJECTS_BUILD_TRANSPOSED)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_BUILD_TRANSPOSED) -o $(APPLDIR)/$@  $(LIB)
	
variation_filter  :  $(OBJECTS_VARIATION_FILTER)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_VARIATION_FILTER) -o $(APPLDIR)/$@  $(LIB)

subsampleLightData_without_replacement  :  $(OBJECTS_SUB_WITHOUT_LIGHT)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_SUB_WITHOUT_LIGHT) -o $(APPLDIR)/$@  $(LIB)

splitLightData  :  $(OBJECTS_SPLITLIGHTDATA)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_SPLITLIGHTDATA) -o $(APPLDIR)/$@  $(LIB)	

dorel  :  $(OBJECTS_DOREL)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_DOREL) -o $(APPLDIR)/$@  $(LIB)	
	
compute_roc  :  $(OBJECTS_COMPUTE_ROC)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_COMPUTE_ROC) -o $(APPLDIR)/$@  $(LIB)	
	
comp_spec_thresh  :  $(OBJECTS_COMP_SPEC_THRESH)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_COMP_SPEC_THRESH) -o $(APPLDIR)/$@  $(LIB)	

	
# build application using static linking
nn_s : $(OBJECTS_NN) 
	$(CC) $(LINKERFLAGS)  $(OBJECTS_NN) -o $(APPLDIR)/nn -static $(LIB)
	
dodata_s : $(OBJECTS_DODATA) 	
	$(CC)  $(LINKERFLAGS) $(OBJECTS_DODATA) -o $(APPLDIR)/dodata  -static $(LIB)
	
pnd_s : $(OBJECTS_PND)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_PND) -o $(APPLDIR)/pnd  -static $(LIB)
	
nn_cv_s : $(OBJECTS_NN_CV)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_NN_CV) -o $(APPLDIR)/nn_cv  -static $(LIB)
	
pnd_cv_s : $(OBJECTS_PND_CV)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_PND_CV) -o $(APPLDIR)/pnd_cv  -static $(LIB)
	
dofold_s : $(OBJECTS_DOFOLD)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_DOFOLD) -o $(APPLDIR)/dofold -static  $(LIB)
	
mm_s : $(OBJECTS_MM)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_MM) -o $(APPLDIR)/mm  -static $(LIB)
	
doerrfile_s : $(OBJECTS_DOERRFILE)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_DOERRFILE) -o $(APPLDIR)/doerrfile -static $(LIB) 

subsample_s : $(OBJECTS_SUBSAMPLE)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_SUBSAMPLE) -o $(APPLDIR)/subsample -static $(LIB)
	
NO2light_s : $(OBJECTS_NO2light)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_NO2light) -o $(APPLDIR)/NO2light -static $(LIB)
	
convert_data_format_s : $(OBJECTS_CONVERT)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_CONVERT) -o $(APPLDIR)/convert_data_format -static $(LIB)
        
dodecomp_s : $(OBJECTS_DODECOMP)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_DODECOMP) -o $(APPLDIR)/dodecomp -static $(LIB)
	
peximizeHD_s : $(OBJECTS_PEXIMIZEHD)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_PEXIMIZEHD) -o $(APPLDIR)/peximizeHD -static $(LIB)

convert_data_format2_s : $(OBJECTS_CONVERT2)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_CONVERT2) -o $(APPLDIR)/peximizeHD -static $(LIB)
	
bagsvm_s : $(OBJECTS_BAGSVM)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_BAGSVM) -o $(APPLDIR)/bagsvm -static $(LIB)
	
extract_labels_light_s : $(OBJECTS_EXTRLAB)   
	$(CC)  $(LINKERFLAGS) $(OBJECTS_EXTRLAB) -o $(APPLDIR)/extract_labels_light -static $(LIB)
	

# main file applications compiling
	
dodata.o : dodata.cc utils.h patgen.h 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

nn.o : nn.cc utils.h tset.h net.h appl.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
pnd.o : pnd.cc appl.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

nn_cv.o : nn_cv.cc appl.h 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
pnd_cv.o : pnd_cv.cc appl.h 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
dofold.o : dofold.cc utils.h patgen.h tset.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	
	
mm.o : mm.cc utils.h mutualinfo.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
mi72.o : mi72.cc utils.h mutualinfo7.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
mi73.o : mi73.cc utils.h mutualinfo7.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
mi74.o : mi74.cc utils.h mutualinfo7.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
mi75.o : mi75.cc utils.h mutualinfo7.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
mi76.o : mi76.cc utils.h mutualinfo7.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
doerrfile.o : doerrfile.cc outerr.h 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

subsample.o : subsample.cc appl.h 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
NO2light.o : NO2light.cc appl.h 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	
	
convert_data_format.o : convert_data_format.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	
        
dodecomp.o : dodecomp.cc decomp.cc decomp.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
peximizeHD.o : peximizeHD.cc decomp.cc decomp.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
        
convert_data_format2.o : convert_data_format2.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

optimizeHD.o : optimizeHD.cc decomp.cc decomp.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
extract_data.o : extract_data.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
bagsvm.o : bagsvm.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
extract_labels_light.o : extract_labels_light.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
subsampleLightData.o : subsampleLightData.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

SNR_feature_sel.o : SNR_feature_sel.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	
	
build_feature_subset_data.o : build_feature_subset_data.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

SNR_feature_rank.o : SNR_feature_rank.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

lobagsvm.o : lobagsvm.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

lobagsvm_multiple.o : lobagsvm_multiple.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

McNemar.o : McNemar.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

resampled_pair_t_test.o : resampled_pair_t_test.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	
	
partitionLightData.o : partitionLightData.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

rssvm.o : rssvm.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

make_rs_data.o : make_rs_data.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

rssvm_cv.o : rssvm_cv.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	
	
svm_cv.o : svm_cv.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

computeblerr.o : computeblerr.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

build_data_set_transposed.o : build_data_set_transposed.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	
	
variation_filter.o : variation_filter.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	
	
subsampleLightData_without_replacement.o : subsampleLightData_without_replacement.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

splitLightData.o : splitLightData.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@	

dorel.o : dorel.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
compute_roc.o : compute_roc.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
comp_spec_thresh.o : comp_spec_thresh.cc 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@




# library file  compiling	
tset.o : tset.cc  tset.h utils.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
utils.o : utils.cc  utils.h 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
layer.o : layer.cc  utils.h act_fun.h layer.h 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

net.o : net.cc  utils.h act_fun.h net.h layer.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
dico.o : dico.cc  utils.h act_fun.h net.h layer.h dico.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
act_fun.o : act_fun.cc  act_fun.h 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
learn.o : learn.cc   learn.h tset.h utils.h net.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
build_net.o : build_net.cc   tset.h utils.h net.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
patgen.o : patgen.cc   patgen.h utils.h 
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
decomp.o : decomp.cc decomp.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
polidico.o : polidico.cc polidico.h
	$(CC) $(MYCFLAGS)  $(CPPFLAGS) -fno-implicit-templates -c  $< -o $@
	
appl.o : appl.cc appl.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
ecocnet.o : ecocnet.cc ecocnet.h net.h net.cc
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
mutualinfo.o : mutualinfo.cc mutualinfo.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
mutualinfo7.o : mutualinfo7.cc mutualinfo7.h
	$(CC) $(MYCFLAGS)  $(CPPFLAGS) -fno-implicit-templates -c  $< -o $@
	
chi2.o : chi2.cc chi2.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
outerr.o : outerr.cc outerr.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
roc.o : roc.cc roc.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
vect.o : vect.cc vect.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
matrix.o : matrix.cc matrix.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
basesvml.o : basesvml.cc baselearner.h basesvml.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

basemlp.o : basemlp.cc baselearner.h basemlp.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
binomial.o : binomial.cc binomial.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

bagging.o : bagging.cc bagging.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
bagging-ext.o : bagging-ext.cc bagging-ext.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
snr.o : snr.cc snr.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

bootstrapLight.o : bootstrapLight.cc bootstrapLight.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

bv2decomp.o : bv2decomp.cc bv2decomp.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
lobag.o : lobag.cc lobag.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@
	
multipleLobag.o : multipleLobag.cc multipleLobag.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@

stattest.o : stattest.cc stattest.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@  

randomsubspace.o : randomsubspace.cc randomsubspace.h
	$(CC) $(MYCFLAGS) $(CPPFLAGS) -c  $< -o $@ 	


			
# static library
libNO.a  :  $(LIBOBJECTS) Makefile
	ar r $(LIBDIR)/libNO.a $(LIBOBJECTS)

# shared library
libNO.so  :  $(LIBOBJECTS) Makefile
	g++ -shared -o $(LIBDIR)/libNO.so $(LIBOBJECTS)



.PHONY : clean	
clean :
	-rm *.o 
	
cleanall :
	-rm *.o; cd $(APPLDIR); rm $(APPL); cd ../$(LIBDIR); rm $(LIBNO)
