Makefile 7.33 KB
####### Compiler, tools and options
CXX           = g++
CXXFLAGS      = -pipe -std=c++17 -O2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -W -D_REENTRANT -fPIC
INCPATH       = -I./src -I. -I/opt/ibm/ILOG/CPLEX_Studio221/cplex/include -I/usr/local/include
DEL_FILE      = rm -f
LINK          = g++
LFLAGS        = -Wl,-O1 -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
LIBS          = -L/opt/ibm/ILOG/CPLEX_Studio221/cplex/lib/x86-64_linux/static_pic/ -lcplex -L/usr/local/lib/ -lRNA -lnupackconc -lnupackpfunc -lnupackutils -L/usr/lib/x86_64-linux-gnu/ -lpthread -lX11 -ldl

####### Files
OBJECTS       = graph.o \
		main.o \
		rna.o \
		structure.o \
		interaction.o \
		complexe.o \
		solinteraction.o \
		predictor.o \
		utils.o \
		helix.o \
		hairpinloop.o \
		motif.o \
		multiloop.o \
		pseudoknot.o \
		interloop.o \
		fa.o \
		extract_str_inter.o \
		biclique.o \
		boip.o \
		boipsolution.o \
		findkbestparetoset.o \
		ip.o \
		ipcomp.o \
		ipchromaticgraph.o \
		complexip.o \
		extract_probing_data.o \
		extract_user_ct.o

TARGET        = C-RCPred

####### Build rules
C-RCPred: /opt/ibm/ILOG/CPLEX_Studio221/cplex/lib/x86-64_linux/static_pic/libcplex.a /usr/local/lib/libRNA.a /usr/local/lib/libnupackconc.a /usr/local/lib/libnupackpfunc.a /usr/local/lib/libnupackutils.a $(OBJECTS)
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) && $(DEL_FILE) $(OBJECTS)

all: Makefile C-RCPred

####### Compile
graph.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o graph.o ./src/graph.cpp

main.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ./src/main.cpp

rna.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o rna.o ./src/rna.cpp

structure.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o structure.o ./src/structure.cpp

interaction.o: ./src/interaction.cpp ./src/interaction.h \
		./src/rna.h \
		./src/Extract_data/fa.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o interaction.o ./src/interaction.cpp

complexe.o: ./src/complexe.cpp ./src/complexe.h \
		./src/Motifs/helix.h \
		./src/Motifs/motif.h \
		./src/structure.h \
		./src/solinteraction.h \
		./src/rna.h \
		./src/Extract_data/fa.h \
		./src/interaction.h \
		./src/Motifs/pseudoknot.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o complexe.o ./src/complexe.cpp

solinteraction.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o solinteraction.o ./src/solinteraction.cpp

predictor.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o predictor.o ./src/predictor.cpp

utils.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o utils.o ./src/utils.cpp

helix.o: ./src/Motifs/helix.cpp ./src/thermo/core.h \
		./src/thermo/core/backtrack.h \
		./src/thermo/core/ene.h \
		./src/shared.h \
		./src/shared/constants.h \
		./src/shared/nupack_design_constants.h \
		./src/shared/externals.h \
		./src/shared/functions.h \
		./src/shared/structs.h \
		./src/shared/hash.h \
		./src/shared/mt19937ar.h \
		./src/thermo/core/pfuncUtils.h \
		./src/thermo/core/mfeUtils.h \
		./src/thermo/core/pknots.h \
		./src/thermo/core/min.h \
		./src/thermo/core/init.h \
		./src/thermo/core/CalculateEnergy.h \
		./src/thermo/core/GetEnergy.h \
		./src/thermo/core/nsStar.h \
		./src/thermo/core/pf.h \
		./src/thermo/core/pairsPr.h \
		./src/thermo/core/sumexp.h \
		./src/thermo/core/sumexp_pk.h \
		./src/thermo/core/ReadCommandLineNPK.h \
		./src/RNAeval_cmdl.h \
		./src/Motifs/helix.h \
		./src/Motifs/motif.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o helix.o ./src/Motifs/helix.cpp

hairpinloop.o: ./src/Motifs/hairpinloop.cpp ./src/Motifs/hairpinloop.h \
		./src/Motifs/motif.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o hairpinloop.o ./src/Motifs/hairpinloop.cpp

motif.o: ./src/Motifs/motif.cpp ./src/Motifs/motif.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o motif.o ./src/Motifs/motif.cpp

multiloop.o: ./src/Motifs/multiloop.cpp ./src/Motifs/multiloop.h \
		./src/Motifs/motif.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o multiloop.o ./src/Motifs/multiloop.cpp

pseudoknot.o: ./src/Motifs/pseudoknot.cpp ./src/Motifs/pseudoknot.h \
		./src/Motifs/motif.h \
		./src/Motifs/helix.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pseudoknot.o ./src/Motifs/pseudoknot.cpp

interloop.o: ./src/Motifs/interloop.cpp ./src/Motifs/interloop.h \
		./src/Motifs/motif.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o interloop.o ./src/Motifs/interloop.cpp

fa.o: ./src/Extract_data/fa.cpp ./src/Extract_data/fa.h \
		./src/rna.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o fa.o ./src/Extract_data/fa.cpp

extract_str_inter.o: ./src/Extract_data/extract_str_inter.cpp ./src/Extract_data/extract_user_ct.h \
		./src/Motifs/interloop.h \
		./src/Motifs/motif.h \
		./src/Motifs/hairpinloop.h \
		./src/Motifs/helix.h \
		./src/Motifs/multiloop.h \
		./src/Motifs/pseudoknot.h \
		./src/rna.h \
		./src/Extract_data/fa.h \
		./src/structure.h \
		./src/solinteraction.h \
		./src/interaction.h \
		./src/utils.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o extract_str_inter.o ./src/Extract_data/extract_str_inter.cpp

biclique.o: ./src/IP/biclique.cpp ./src/IP/biclique.h \
		./src/IP/boip.h \
		./src/IP/ip.h \
		./src/IP/boipsolution.h \
		./src/utils.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o biclique.o ./src/IP/biclique.cpp

boip.o: ./src/IP/boip.cpp ./src/IP/boip.h \
		./src/IP/ip.h \
		./src/IP/boipsolution.h \
		./src/utils.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o boip.o ./src/IP/boip.cpp

boipsolution.o: ./src/IP/boipsolution.cpp ./src/IP/boipsolution.h \
		./src/utils.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o boipsolution.o ./src/IP/boipsolution.cpp

findkbestparetoset.o: ./src/IP/findkbestparetoset.cpp ./src/IP/findkbestparetoset.h \
		./src/IP/boip.h \
		./src/IP/ip.h \
		./src/IP/boipsolution.h \
		./src/utils.h \
		./src/IP/biclique.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o findkbestparetoset.o ./src/IP/findkbestparetoset.cpp

ip.o: ./src/IP/ip.cpp ./src/IP/ip.h \
		/opt/ibm/ILOG/CPLEX_Studio221/cplex/include/ilcplex/cplex.h \
		/opt/ibm/ILOG/CPLEX_Studio221/cplex/include/ilcplex/cpxconst.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ip.o ./src/IP/ip.cpp

ipcomp.o: ./src/IP/ipcomp.cpp ./src/IP/ipcomp.h \
		./src/IP/ip.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ipcomp.o ./src/IP/ipcomp.cpp

ipchromaticgraph.o: ./src/IP/ipchromaticgraph.cpp ./src/IP/ipchromaticgraph.h \
		./src/IP/ip.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ipchromaticgraph.o ./src/IP/ipchromaticgraph.cpp

complexip.o: ./src/IP/complexip.cpp ./src/IP/complexip.h \
		./src/structure.h \
		./src/Motifs/motif.h \
		./src/solinteraction.h \
		./src/rna.h \
		./src/Extract_data/fa.h \
		./src/interaction.h \
		./src/Motifs/pseudoknot.h \
		./src/Motifs/helix.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o complexip.o ./src/IP/complexip.cpp

extract_probing_data.o: ./src/Extract_data/extract_probing_data.cpp ./src/Extract_data/extract_probing_data.h \
		./src/rna.h \
		./src/Extract_data/fa.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o extract_probing_data.o ./src/Extract_data/extract_probing_data.cpp

extract_user_ct.o: ./src/Extract_data/extract_user_ct.cpp ./src/Extract_data/extract_user_ct.h \
		./src/Motifs/interloop.h \
		./src/Motifs/motif.h \
		./src/Motifs/hairpinloop.h \
		./src/Motifs/helix.h \
		./src/Motifs/multiloop.h \
		./src/Motifs/pseudoknot.h \
		./src/rna.h \
		./src/Extract_data/fa.h \
		./src/structure.h \
		./src/solinteraction.h \
		./src/interaction.h \
		./src/utils.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o extract_user_ct.o ./src/Extract_data/extract_user_ct.cpp