CPPNames = aligngivenpath.cpp aligngivenpathsw.cpp aligntwomsas.cpp aligntwoprofs.cpp aln.cpp alpha.cpp anchors.cpp bittraceback.cpp blosum62.cpp blosumla.cpp clust.cpp cluster.cpp clwwt.cpp color.cpp cons.cpp diaglist.cpp diffobjscore.cpp diffpaths.cpp difftrees.cpp difftreese.cpp distcalc.cpp distfunc.cpp distpwkimura.cpp domuscle.cpp dosp.cpp dpreglist.cpp drawtree.cpp edgelist.cpp enumopts.cpp enumtostr.cpp estring.cpp fasta.cpp fasta2.cpp fastclust.cpp fastdist.cpp fastdistjones.cpp fastdistkbit.cpp fastdistkmer.cpp fastdistmafft.cpp fastdistnuc.cpp fastscorepath2.cpp finddiags.cpp finddiagsn.cpp glbalign.cpp glbalign352.cpp glbaligndiag.cpp glbalignle.cpp glbalignsimple.cpp glbalignsp.cpp glbalignspn.cpp glbalignss.cpp glbalndimer.cpp globals.cpp globalslinux.cpp globalsosx.cpp globalsother.cpp globalswin32.cpp gonnet.cpp henikoffweight.cpp henikoffweightpb.cpp html.cpp hydro.cpp intmath.cpp local.cpp main.cpp makerootmsa.cpp makerootmsab.cpp maketree.cpp mhack.cpp mpam200.cpp msa.cpp msa2.cpp msadistkimura.cpp msf.cpp muscle.cpp muscleout.cpp nucmx.cpp nwdasimple.cpp nwdasimple2.cpp nwdasmall.cpp nwrec.cpp nwsmall.cpp objscore.cpp objscore2.cpp objscoreda.cpp onexception.cpp options.cpp outweights.cpp pam200mafft.cpp params.cpp phy.cpp phy2.cpp phy3.cpp phy4.cpp phyfromclust.cpp phyfromfile.cpp physeq.cpp phytofile.cpp posgap.cpp ppscore.cpp profdb.cpp profile.cpp profilefrommsa.cpp progalign.cpp progress.cpp progressivealign.cpp pwpath.cpp readmx.cpp realigndiffs.cpp realigndiffse.cpp refine.cpp refinehoriz.cpp refinesubfams.cpp refinetree.cpp refinetreee.cpp refinevert.cpp refinew.cpp savebest.cpp scoredist.cpp scoregaps.cpp scorehistory.cpp scorepp.cpp seq.cpp seqvect.cpp setblosumweights.cpp setgscweights.cpp setnewhandler.cpp spfast.cpp sptest.cpp stabilize.cpp subfam.cpp subfams.cpp sw.cpp termgaps.cpp textfile.cpp threewaywt.cpp tomhydro.cpp traceback.cpp tracebackopt.cpp tracebacksw.cpp treefrommsa.cpp typetostr.cpp upgma2.cpp usage.cpp validateids.cpp vtml2.cpp writescorefile.cpp RMuscle.cpp

OBJNames = aligngivenpath.o aligngivenpathsw.o aligntwomsas.o aligntwoprofs.o aln.o alpha.o anchors.o bittraceback.o blosum62.o blosumla.o clust.o cluster.o clwwt.o color.o cons.o diaglist.o diffobjscore.o diffpaths.o difftrees.o difftreese.o distcalc.o distfunc.o distpwkimura.o domuscle.o dosp.o dpreglist.o drawtree.o edgelist.o enumopts.o enumtostr.o estring.o fasta.o fasta2.o fastclust.o fastdist.o fastdistjones.o fastdistkbit.o fastdistkmer.o fastdistmafft.o fastdistnuc.o fastscorepath2.o finddiags.o finddiagsn.o glbalign.o glbalign352.o glbaligndiag.o glbalignle.o glbalignsimple.o glbalignsp.o glbalignspn.o glbalignss.o glbalndimer.o globals.o globalslinux.o globalsosx.o globalsother.o globalswin32.o gonnet.o henikoffweight.o henikoffweightpb.o html.o hydro.o intmath.o local.o main.o makerootmsa.o makerootmsab.o maketree.o mhack.o mpam200.o msa.o msa2.o msadistkimura.o msf.o muscle.o muscleout.o nucmx.o nwdasimple.o nwdasimple2.o nwdasmall.o nwrec.o nwsmall.o objscore.o objscore2.o objscoreda.o onexception.o options.o outweights.o pam200mafft.o params.o phy.o phy2.o phy3.o phy4.o phyfromclust.o phyfromfile.o physeq.o phytofile.o posgap.o ppscore.o profdb.o profile.o profilefrommsa.o progalign.o progress.o progressivealign.o pwpath.o readmx.o realigndiffs.o realigndiffse.o refine.o refinehoriz.o refinesubfams.o refinetree.o refinetreee.o refinevert.o refinew.o savebest.o scoredist.o scoregaps.o scorehistory.o scorepp.o seq.o seqvect.o setblosumweights.o setgscweights.o setnewhandler.o spfast.o sptest.o stabilize.o subfam.o subfams.o sw.o termgaps.o textfile.o threewaywt.o tomhydro.o traceback.o tracebackopt.o tracebacksw.o treefrommsa.o typetostr.o upgma2.o usage.o validateids.o vtml2.o writescorefile.o RMuscle.o

all: muscle

muscle:
	export PKG_CXXFLAGS="$(PKG_CXXFLAGS) -I../gc-8.2.8/include"
	${R_HOME}/bin${R_ARCH_BIN}/R CMD SHLIB -o libMuscle.so $(CPPNames)
	ar rcs libMuscle.a $(OBJNames)
	cp libMuscle.a ../
