CPPNames=pairwise/FullPairwiseAlign.cpp pairwise/FastPairwiseAlign.cpp fileInput/MSFFileParser.cpp fileInput/FileReader.cpp fileInput/PIRFileParser.cpp fileInput/RSFFileParser.cpp fileInput/GDEFileParser.cpp fileInput/InFileStream.cpp fileInput/ClustalFileParser.cpp fileInput/PearsonFileParser.cpp fileInput/FileParser.cpp fileInput/EMBLFileParser.cpp tree/UPGMA/RootedClusterTree.cpp tree/UPGMA/UPGMAAlgorithm.cpp tree/UPGMA/Node.cpp tree/UPGMA/RootedGuideTree.cpp tree/UPGMA/RootedTreeOutput.cpp tree/Tree.cpp tree/ClusterTree.cpp tree/TreeInterface.cpp tree/UnRootedClusterTree.cpp tree/ClusterTreeOutput.cpp tree/RandomGenerator.cpp tree/NJTree.cpp tree/AlignmentSteps.cpp interface/CommandLineParser.cpp substitutionMatrix/SubMatrix.cpp multipleAlign/Iteration.cpp multipleAlign/MSA.cpp multipleAlign/MyersMillerProfileAlign.cpp multipleAlign/ProfileStandard.cpp multipleAlign/ProfileWithSub.cpp multipleAlign/ProfileBase.cpp multipleAlign/LowScoreSegProfile.cpp general/OutputFile.cpp general/UserParameters.cpp general/Utility.cpp general/InvalidCombination.cpp general/DebugLog.cpp general/ClustalWResources.cpp general/VectorOutOfRange.cpp general/SymMatrix.cpp general/Stats.cpp Help.cpp alignment/Alignment.cpp alignment/AlignmentOutput.cpp alignment/ObjectiveScore.cpp alignment/Sequence.cpp Clustal.cpp RClustalWMain.cpp RClustalW.cpp

OBJNames=pairwise/FullPairwiseAlign.o pairwise/FastPairwiseAlign.o fileInput/MSFFileParser.o fileInput/FileReader.o fileInput/PIRFileParser.o fileInput/RSFFileParser.o fileInput/GDEFileParser.o fileInput/InFileStream.o fileInput/ClustalFileParser.o fileInput/PearsonFileParser.o fileInput/FileParser.o fileInput/EMBLFileParser.o tree/UPGMA/RootedClusterTree.o tree/UPGMA/UPGMAAlgorithm.o tree/UPGMA/Node.o tree/UPGMA/RootedGuideTree.o tree/UPGMA/RootedTreeOutput.o tree/Tree.o tree/ClusterTree.o tree/TreeInterface.o tree/UnRootedClusterTree.o tree/ClusterTreeOutput.o tree/RandomGenerator.o tree/NJTree.o tree/AlignmentSteps.o interface/CommandLineParser.o substitutionMatrix/SubMatrix.o multipleAlign/Iteration.o multipleAlign/MSA.o multipleAlign/MyersMillerProfileAlign.o multipleAlign/ProfileStandard.o multipleAlign/ProfileWithSub.o multipleAlign/ProfileBase.o multipleAlign/LowScoreSegProfile.o general/OutputFile.o general/UserParameters.o general/Utility.o general/InvalidCombination.o general/DebugLog.o general/ClustalWResources.o general/VectorOutOfRange.o general/SymMatrix.o general/Stats.o Help.o alignment/Alignment.o alignment/AlignmentOutput.o alignment/ObjectiveScore.o alignment/Sequence.o Clustal.o RClustalWMain.o RClustalW.o

all: clustalw

clustalw:
	cp windows/Makefile .; \
	cp windows/m4/Makefile m4/; \
	cp windows/src/Makefile src/; \
	cp windows/src/clustalw_version.h src/; \
	cp windows/src/config.h src/; \
	cd src; \
	export PKG_CXXFLAGS="-DHAVE_CONFIG_H -std=c++14 -I. $(PKG_CXXFLAGS) -Wno-deprecated -Wno-unused-result"; \
	${R_HOME}/bin${R_ARCH_BIN}/R.exe CMD SHLIB -o ClustalW.dll $(CPPNames) &&\
	$(AR) rcs libClustalW.a $(OBJNames) && \
	cp libClustalW.a ../../
