################################################################################ # Makefile for probcons ################################################################################ ################################################################################ # 1) Choose C++ compiler. ################################################################################ CXX = g++ ################################################################################ # 2) Set C++ flags. # a) DEBUG mode -- no optimizations, enable SafeVector checking, no inlining # b) PROFILE mode -- for gprof # c) RELEASE mode ################################################################################ BIG_INLINE_LIMIT = 20000 OTHERFLAGS = -DNumInsertStates=1 -DVERSION="2.0" PROBCONS = ./probconsRNA VIENNA = ./vienna # debug mode #CXXFLAGS = -g -W -Wall -DENABLE_CHECKS $(OTHERFLAGS) -I./rfold-0.1/src/ -I./rfold-0.1/src/vienna -L./rfold-0.1/src/ $(CFLAGS) $(CFLAGS1) -finline-limit=$(BIG_INLINE_LIMIT) -I$(PROBCONS) -L$(PROBCONS) -I$(VIENNA) -L$(VIENNA) -I./ -L./ # profile mode #CXXFLAGS = -pg -W -Wall -pedantic $(OTHERFLAGS) $(CFLAGS1) -I$(PROBCONS) -L$(PROBCONS) -I$(VIENNA) -L$(VIENNA) -I./ -L./ # release mode #CXXFLAGS = -O3 -W -Wall -pedantic -DNDEBUG $(OTHERFLAGS) -mmmx -msse -msse2 -mfpmath=sse -march=pentium4 -mcpu=pentium4 -funroll-loops -fomit-frame-pointer -I$(PROBCONS) -L$(PROBCONS) -I$(VIENNA) -L$(VIENNA) -I./ -L./ #CXXFLAGS = -O3 -W -Wasll -DNDEBUG -static $(OTHERFLAGS) -funroll-loops $(CFLAGS1) -finline-limit=$(BIG_INLINE_LIMIT) -I$(PROBCONS) -L$(PROBCONS) -I$(VIENNA) -L$(VIENNA) -I./ -L./ # no -Wall option for warning CXXFLAGS = -O3 -funroll-loops $(CFLAGS1) -finline-limit=$(BIG_INLINE_LIMIT) LIBDIR = -L$(PROBCONS) -L./ INCDIR = -I$(PROBCONS) -I$(VIENNA) -I./ OFLAGS = -DNDEBUG $(OTHERFLAGS) ################################################################################ # 3) Dependencies ################################################################################ TARGETS = mxscarna OBJS = Main.o McCaskill.o vienna/energy_param.o seq2scs.o Globaldp.o postProcessings.o AlifoldMEA.o .PHONY : all all : $(TARGETS) mxscarna : $(OBJS) $(CXX) $(CXXFLAGS) $(LIBDIR) $(INCDIR) $(OFLAGS) -lm -o $@ $(OBJS) rfold: cd $(RFOLD); \ make; \ cd .. \ cd .. probcons: cd $(PROBCONS); \ make; \ cd .. #.cpp.cc.o: # $(CXX) $(CXXFLAGS) $(LIBDIR) $(INCDIR) $(OFLAGS) -c $< #probcons : MultiSequence.h ProbabilisticModel.h ScoreType.h Sequence.h FileBuffer.h SparseMatrix.h EvolutionaryTree.h Defaults.h SafeVector.h Main.cc # $(CXX) $(CXXFLAGS) -lm -o probcons $(OBJS) #Main.cc Main.o : $(PROBCONS)/SafeVector.h $(PROBCONS)/FileBuffer.h $(PROBCONS)/Sequence.h $(PROBCONS)/MultiSequence.h $(PROBCONS)/EvolutionaryTree.h scarna.hpp BPPMatrix.hpp StemCandidate.hpp Globaldp.hpp AlifoldMEA.h Main.cc $(CXX) $(CXXFLAGS) $(LIBDIR) $(INCDIR) $(OFLAGS) -c Main.cc -o Main.o McCaskill.o: McCaskill.hpp $(VIENNA)/energy_param.hpp Util.hpp Beta.hpp ScoreType.hpp McCaskill.cpp $(CXX) $(CXXFLAGS) $(LIBDIR) $(INCDIR) $(OFLAGS) -c McCaskill.cpp -o McCaskill.o $(VIENNA)/energy_param.o: $(VIENNA)/energy_param.hpp $(VIENNA)/energy_param.cpp $(CXX) $(CXXFLAGS) $(LIBDIR) $(INCDIR) $(OFLAGS) -c $(VIENNA)/energy_param.cpp -o $(VIENNA)/energy_param.o seq2scs.o: $(PROBCONS)/SafeVector.h StemCandidate.hpp $(PROBCONS)/Sequence.h $(PROBCONS)/MultiSequence.h BPPMatrix.hpp nrutil.h seq2scs.cpp $(CXX) $(CXXFLAGS) $(LIBDIR) $(INCDIR) $(OFLAGS) -c seq2scs.cpp -o seq2scs.o Globaldp.o: Globaldp.hpp nrutil.h Util.hpp Beta.hpp scarna.hpp StemCandidate.hpp $(PROBCONS)/MultiSequence.h $(PROBCONS)/Sequence.h BPPMatrix.hpp $(CXX) $(CXXFLAGS) $(LIBDIR) $(INCDIR) $(OFLAGS) -c Globaldp.cpp -o Globaldp.o GlobalParameters.o: scarna.hpp $(CXX) $(CXXFLAGS) $(LIBDIR) $(INCDIR) $(OFLAGS) -c GlobalParameters.cpp -o GlobalParameters.o postProcessings.o: StemCandidate.hpp scarna.hpp $(CXX) $(CXXFLAGS) $(LIBDIR) $(INCDIR) $(OFLAGS) -c postProcessings.cpp -o postProcessings.o AlifoldMEA.o: nrutil.h Util.hpp Beta.hpp BPPMatrix.hpp $(PROBCONS)/MultiSequence.h $(PROBCONS)/Sequence.h $(PROBCONS)/SafeVector.h $(CXX) $(CXXFLAGS) $(LIBDIR) $(INCDIR) $(OFLAGS) -c AlifoldMEA.cpp -o AlifoldMEA.o .PHONY : clean clean: rm -f $(TARGETS) *.o *.h~ *.hpp~ *.cpp~ *.cc~ $(VIENNA)/*.o $(MAKE) -C $(PROBCONS) clean