CC=g++
CC_OPTIONS=-O3 -static

binaries=scrm1 pssm2mif fasta2markov 
condor_compilations=scrm1.condor

Version=1.0
Project=scrm1
Dist=${Project}.v${Version}
Diststuff=*.h *.cpp *.py doc Makefile

scrm1-project:  ${binaries}

clean:
	/bin/rm -rf *.o ${tarball}
distclean:
	/bin/rm -rf *.o ${binaries} ${condor_compilations}
build:  distclean all
binaries:  ${binaries}
all:  ${binaries} 
dist:
	mkdir ${Dist}
	cp -HLr ${Diststuff} ${Dist}
	tar -h -czf ${Dist}.tar.gz ${Dist}
	/bin/rm -rf ${Dist}
condor:	${condor_compilations}


#object files
scrm1.o:	scrm1.cpp
	${CC} ${CC_OPTIONS} -c scrm1.cpp

Option.o:	Option.h Option.cpp
	${CC} ${CC_OPTIONS} -c Option.cpp

dna.o:  dna.h dna.cpp
	${CC} ${CC_OPTIONS} -c dna.cpp

fasta.o:  fasta.h fasta.cpp
	${CC} ${CC_OPTIONS} -c fasta.cpp

markov.o:  markov.h markov.cpp
	${CC} ${CC_OPTIONS} -c markov.cpp

Hypothesis.o:  Hypothesis.h Hypothesis.cpp definitions.h
	${CC} ${CC_OPTIONS} -c Hypothesis.cpp

Branch.o:  Branch.h Branch.cpp definitions.h
	${CC} ${CC_OPTIONS} -c Branch.cpp

Tree.o:  Tree.h Tree.cpp definitions.h Branch.h Results.h
	${CC} ${CC_OPTIONS} -c Tree.cpp

#programs
scrm1:  scrm1.o Option.o fasta.o Results.h Tree.o Branch.o Hypothesis.o definitions.h
	${CC} ${CC_OPTIONS} -o scrm1 scrm1.o Option.o fasta.o Tree.o Branch.o Hypothesis.o

pssm2mif: pssm2mif.cpp Option.o fasta.o markov.o dna.o
	${CC} ${CC_OPTIONS} -o pssm2mif pssm2mif.cpp Option.o fasta.o markov.o dna.o

fasta2markov:  fasta2markov.cpp markov.o fasta.o Option.o
	${CC} ${CC_OPTIONS} -o fasta2markov fasta2markov.cpp markov.o fasta.o Option.o


#condor compile
scrm1-condor:  scrm1.o Option.o fasta.o Results.h Tree.o Branch.o Hypothesis.o definitions.h
	condor_compile ${CC} ${CC_OPTIONS} -o scrm1-condor scrm1.o Option.o fasta.o Tree.o Branch.o Hypothesis.o

