Merge branch 'homology' of mmka.chem.univ.gda.pl:unres into homology
[unres.git] / source / unres / src_MD-M / Makefile_bluegene
1 #
2 FC = mpixlf77
3 OPT =  -O4 -qarch=qp -qtune=qp -qnocr
4 #OPT =  -O3 -qarch=qp -qtune=qp -qdebug=function_trace
5 #OPT =  -O -qarch=qp -qtune=qp 
6 #OPT = -O0 -C -g -qarch=qp -qtune=qp #-qdebug=function_trace
7 #-Minline=name:scalar2,scalar,transpose2,matvec2,prodmat3 \
8 #-Mprefetch=distance:8,nta
9
10 #OPT1 = -O -g -qarch=qp -qtune=qp
11 #OPT1 = -O -g -qarch=qp -qtune=qp -qdebug=function_trace
12 OPT1 = ${OPT}
13 #OPT2 = -O2 -qarch=qp -qtune=qp
14 #OPT2 = -O2 -qarch=qp -qtune=qp -qdebug=function_trace
15 OPT2 = ${OPT}
16 #OPTE = -O4 -qarch=qp -qtune=qp
17 #OPTE = -O4 -qarch=qp -qtune=qp 
18 OPTE=${OPT}
19
20 CFLAGS = -c
21 FFLAGS = -c ${OPT} -I$(INSTALL_DIR)/include
22 FFLAGS1 = -c ${OPT1} -I$(INSTALL_DIR)/include
23 FFLAGS2 = -c ${OPT2} -I$(INSTALL_DIR)/include
24 FFLAGSE = -c ${OPTE} -I$(INSTALL_DIR)/include
25
26 LIBS = xdrf/libxdrf.a
27
28 ARCH = LINUX
29 PP = /lib/cpp -P
30
31
32 all: unres
33
34 .SUFFIXES: .F
35 .F.o:
36         ${FC} ${FFLAGS} ${CPPFLAGS} $*.F
37
38 object = unres.o arcos.o cartprint.o chainbuild.o convert.o initialize_p.o \
39         matmult.o readrtns_CSA.o parmread.o gen_rand_conf.o printmat.o map.o \
40         pinorm.o randgens.o rescode.o intcor.o timing.o misc.o intlocal.o \
41         cartder.o checkder_p.o econstr_local.o energy_p_new_barrier.o \
42         energy_p_new-sep_barrier.o gradient_p.o minimize_p.o sumsld.o \
43         cored.o rmdd.o geomout.o readpdb.o permut.o regularize.o thread.o fitsq.o mcm.o \
44         mc.o bond_move.o refsys.o check_sc_distr.o check_bond.o contact.o djacob.o \
45         eigen.o blas.o add.o entmcm.o minim_mcmf.o \
46         together.o csa.o minim_jlee.o shift.o diff12.o bank.o newconf.o ran.o \
47         indexx.o MP.o compare_s1.o prng_32.o \
48         test.o banach.o distfit.o rmsd.o elecont.o dihed_cons.o \
49         sc_move.o local_move.o \
50         intcartderiv.o lagrangian_lesyng.o\
51         stochfric.o kinetic_lesyng.o MD_A-MTS.o moments.o int_to_cart.o \
52         surfatom.o sort.o muca_md.o MREMD.o rattle.o gauss.o energy_split-sep.o \
53         q_measure.o gnmr1.o ssMD.o
54
55 all: no_option
56         @echo "Specify force field: GAB, 4P or E0LL2Y"
57
58 GAB: CPPFLAGS = -WF,-DAIX -WF,-DPROCOR -WF,-DLINUX -WF,-DPGI -WF,-DUNRES -WF,-DISNAN -WF,-DMP -WF,-DMPI \
59         -WF,-DSPLITELE -WF,-DLANG0 -WF,-DCRYST_BOND -WF,-DCRYST_THETA -WF,-DCRYST_SC
60 GAB: BIN = ../bin/unres-mult-symetr_xlf77_MPI_GAB.exe
61 GAB: ${object} xdrf/libxdrf.a
62         cc -o compinfo compinfo.c
63         ./compinfo | true
64         ${FC} ${FFLAGS} cinfo.f
65         ${FC} ${OPT} ${object} cinfo.o ${LIBS}  -o ${BIN}
66
67 4P: CPPFLAGS = -WF,-DAIX -WF,-DLINUX -WF,-DPGI -WF,-DUNRES -WF,-DISNAN -WF,-DMP -WF,-DMPI \
68         -WF,-DSPLITELE -WF,-DLANG0 -WF,-DCRYST_BOND -WF,-DCRYST_THETA -WF,-DCRYST_SC
69 4P: BIN = ../bin/unres-mult-symetr_xlf77_MPI_4P.exe
70 4P: ${object} xdrf/libxdrf.a
71         cc -o compinfo compinfo.c
72         ./compinfo | true
73         ${FC} ${FFLAGS} cinfo.f
74         ${FC} ${OPT} ${object} cinfo.o ${LIBS}  -o ${BIN}
75
76 E0LL2Y: CPPFLAGS = -WF,-DAIX -WF,-DPROCOR -WF,-DLINUX -WF,-DPGI -WF,-DUNRES -WF,-DISNAN -WF,-DMP -WF,-DMPI \
77         -WF,-DSPLITELE -WF,-DLANG0
78 E0LL2Y: BIN = ../bin/unres-mult-symetr_xlf77_MPI_E0LL2Y.exe
79 E0LL2Y: ${object} xdrf/libxdrf.a
80         cc -o compinfo compinfo.c
81         ./compinfo | true
82         ${FC} ${FFLAGS} cinfo.f
83         ${FC} ${OPT} ${object} cinfo.o ${LIBS}  -o ${BIN}
84
85 xdrf/libxdrf.a:
86         cd xdrf && make
87
88
89 clean:
90         /bin/rm -f *.o && /bin/rm -f compinfo && cd xdrf && make clean
91
92 test.o: test.F
93         ${FC} ${FFLAGS} ${CPPFLAGS} test.F
94
95 chainbuild.o: chainbuild.F
96         ${FC} ${FFLAGS} ${CPPFLAGS} chainbuild.F
97
98 matmult.o: matmult.f
99         ${FC} ${FFLAGS} ${CPPFLAGS} matmult.f
100
101 parmread.o : parmread.F
102         ${FC} ${FFLAGS} ${CPPFLAGS} parmread.F
103
104 intcor.o : intcor.f
105         ${FC} ${FFLAGS} ${CPPFLAGS} intcor.f
106
107 cartder.o : cartder.F
108         ${FC} ${FFLAGS} ${CPPFLAGS} cartder.F
109
110 readpdb.o : readpdb.F
111         ${FC} ${FFLAGS2} ${CPPFLAGS} readpdb.F
112
113 sumsld.o : sumsld.f
114         ${FC} ${FFLAGS} ${CPPFLAGS} sumsld.f
115         
116 cored.o : cored.f
117         ${FC} ${FFLAGS1} ${CPPFLAGS} cored.f
118  
119 rmdd.o : rmdd.f
120         ${FC} ${FFLAGS} ${CPPFLAGS} rmdd.f
121
122 energy_p_new_barrier.o : energy_p_new_barrier.F
123         ${FC} ${FFLAGSE} ${CPPFLAGS} energy_p_new_barrier.F
124
125 gradient_p.o : gradient_p.F
126         ${FC} ${FFLAGSE} ${CPPFLAGS} gradient_p.F
127
128 energy_p_new-sep_barrier.o : energy_p_new-sep_barrier.F
129         ${FC} ${FFLAGSE} ${CPPFLAGS} energy_p_new-sep_barrier.F
130
131 lagrangian_lesyng.o : lagrangian_lesyng.F
132         ${FC} ${FFLAGSE} ${CPPFLAGS} lagrangian_lesyng.F
133
134 MD_A-MTS.o : MD_A-MTS.F
135         ${FC} ${FFLAGSE} ${CPPFLAGS} MD_A-MTS.F
136
137 blas.o : blas.f
138         ${FC} ${FFLAGS1} blas.f
139
140 add.o : add.f
141         ${FC} ${FFLAGS1} add.f
142
143 eigen.o : eigen.f
144         ${FC} ${FFLAGS2} eigen.f
145
146 proc_proc.o: proc_proc.c
147         ${CC} ${CFLAGS} proc_proc.c