FLAGS=-O3 -Wall -Wno-deprecated
LIBS=-lCommon 
LDFLAGS=-L../Common/
TARGETS=makeWindow makeSparseVector globalDescriptor createKernelDataset createBRNNDataset buildXfolds


all : $(TARGETS)

buildStandaloneXfolds.o : buildXfolds.cpp
	g++ $(FLAGS) -DSTANDALONE -c $< -o $@

makeStandaloneWindow.o : makeWindow.cpp
	g++ $(FLAGS) -DSTANDALONE -c $< -o $@

makeStandaloneSparseVector.o : makeSparseVector.cpp
	g++ $(FLAGS) -DSTANDALONE -c $< -o $@

GlobalStandaloneDescriptor.o : GlobalDescriptor.cpp
	g++ $(FLAGS) -DSTANDALONE -c $< -o $@

createStandaloneKernelDataset.o : createKernelDataset.cpp
	g++ $(FLAGS) -DSTANDALONE -c $< -o $@

createStandaloneBRNNDataset.o : createBRNNDataset.cpp
	g++ $(FLAGS) -DSTANDALONE -c $< -o $@

%.o : %.cpp
	g++ $(FLAGS) -c $< -o $@

buildXfolds : buildStandaloneXfolds.o
	g++ -o $@ $+ $(LDFLAGS) $(LIBS)

makeWindow : makeStandaloneWindow.o
	g++ -o $@ $+ $(LDFLAGS) $(LIBS)

makeSparseVector : makeStandaloneSparseVector.o
	g++ -o $@ $+ $(LDFLAGS) $(LIBS)

globalDescriptor : Protein.o GlobalStandaloneDescriptor.o
	g++ -o $@ $+ $(LDFLAGS) $(LIBS)

createKernelDataset : Protein.o \
	GlobalDescriptor.o \
	makeSparseVector.o \
	makeWindow.o \
	createStandaloneKernelDataset.o
	g++ -o $@ $+ $(LDFLAGS) $(LIBS)	

createBRNNDataset : Protein.o \
	makeSparseVector.o \
	makeWindow.o \
	createStandaloneBRNNDataset.o
	g++ -o $@ $+ $(LDFLAGS) $(LIBS)	

clean:
	rm *.o $(TARGETS) *~ -f 

