#! /usr/local/bin/gmake

.PHONY: all lib clean exec

all: exec

CXX= g++
CC=$(CXX)

CXXFLAGS += -O3 -Wno-deprecated

Libsources= aaJC.cpp likeDistProp.cpp AddLog.cpp likelihoodComputation.cpp allTrees.cpp logFile.cpp allTreesSeparateModel.cpp main.cpp alphabet.cpp maseFormat.cpp amino.cpp McRate.cpp Bar.cpp	 McRateOptions.cpp bestAlpha.cpp McRateUtils.cpp bestAlphaManyTrees.cpp MetaRates.cpp bestHKYparam.cpp molphyFormat.cpp brLenOpt.cpp MRateCont.cpp brLenOptEM.cpp MRateDiscrete.cpp brLenOptEM_nGenes.cpp MultiChain.cpp brLenOptEM_Propotional.cpp nj.cpp Chain.cpp Nni.cpp chebyshevAccelerator.cpp NNiProp.cpp clustalFormat.cpp NNiSep.cpp codon.cpp nucJC.cpp codonJC.cpp nucleotide.cpp computeCounts.cpp numRec.cpp computeDownAlg.cpp phylipFormat.cpp computeMarginalAlg.cpp pijAccelerator.cpp computePijComponent.cpp PosteriorR4s.cpp computeUpAlg.cpp Proposal.cpp Counters.cpp ProposeAlpha.cpp countTableComponent.cpp ProposeGlobalBranch.cpp datMatrixHolder.cpp ProposeLocalBranch.cpp distanceTable.cpp ProposeNNI.cpp distribution.cpp readDatMatrix.cpp DrateCont.cpp readTree.cpp DrateDiscrete.cpp replacementModel.cpp Drates.cpp searchStatus.cpp errorMsg.cpp sequenceContainer1G.cpp evaluateCharacterFreq.cpp sequenceContainerNG.cpp fastaFormat.cpp sequence.cpp fastStartTree.cpp sequenceUtility.cpp findRateOfGene.cpp SimulateRates.cpp fromCountTableComponentToDistance.cpp simulateTree.cpp fromCountTableComponentToDistanceProp.cpp siteSpecificRate.cpp fromQtoPt.cpp someUtil.cpp gammaDistribution.cpp stochasticProcess.cpp getRandomWeights.cpp suffStatComponent.cpp goldmanYangModel.cpp talRandom.cpp granthamChemicalDistances.cpp tree.cpp hky.cpp	 treeIt.cpp khTest.cpp treeUtil.cpp likeDist2.cpp uniDistribution.cpp likeDist.cpp uniformDistribution.cpp 

LIBNAME = McRate

lib: lib$(LIBNAME).a

lib$(LIBNAME).a: $(Libsources:.cpp=.o)
	ar rv $@ $?
#	ranlib $@

# LibCsources= cmdline.c
# LibCsources += getopt.c getopt1.c 

EXEC = McRate.exe

$(EXEC): lib$(LIBNAME).a

exec: $(EXEC)

clean:
	rm *.o lib$(LIBNAME).a




