42a1c56ae183166280265477de9170ab19c39584
[unres4.git] / source / unres / Makefile
1 ###################################################################
2 #INSTALL_DIR = /users/software/mpich-1.2.7p1_intel-10.1_em64_ssh
3 INSTALL_DIR = /users/software/mpich2-1.4.1p1_intel
4 #INSTALL_DIR = /users2/emilial/UNRES/new_F90/source/unres_MD-M
5
6 FC= ${INSTALL_DIR}/bin/mpif90
7
8 OPT =  -O3 -ip #-CA -CB
9
10 #FFLAGS = -fpp -c ${OPT}  -I$(INSTALL_DIR)/include
11 #-mcmodel large -check arg_temp_created -heap-arrays  -recursive
12 FFLAGS  = -fpp -c ${OPT} #-auto
13 #FFLAGS  = -fpp -c -g -CA -CB -auto -zero -traceback -u -check pointer -check uninit
14 FFLAGSm = -fpp -c -O #-g -CA -CB -auto -zero -traceback -u -check uninit -check pointer
15 #FFLAGSm = -fpp -c -g -CA -CB -auto -zero -traceback -u -check pointer -check uninit
16 #FFLAGS_ = -fpp -c -g -CA -CB -zero -traceback -u -check pointer -check uninit
17 FFLAGS1 = -fpp -c -g -CA -CB #-auto #-zero -traceback -u -check pointer -check uninit
18 #FFLAGS1 = -fpp -c -g -CA -CB -auto -zero -traceback -u -check pointer -check uninit
19 FFLAGS2 = -fpp -c -g -O0  #-I$(INSTALL_DIR)/include
20 #FFLAGS2 = -fpp -c -g -O0  #-I$(INSTALL_DIR)/include
21 FFLAGSE = -fpp -c ${OPT} #-g -CA -CB -auto -zero -traceback -u -check uninit -check pointer -O3 -ipo -opt_report #-g -CA -CB -auto -zero -traceback -u -check pointer -check uninit #-I$(INSTALL_DIR)/include 
22 #FFLAGSE = -fpp -c -g -CA -CB -auto -zero -traceback -u -check pointer -check uninit #-O3 -ipo -opt_report
23
24 #CPPFLAGS = -DPROCOR -DLINUX -DPGI -DISNAN 
25 # -lmpl only necessary for mpich2-1.4.1p1_intel
26 #LIBS = -L$(INSTALL_DIR)/lib -lmpich xdrf/libxdrf.a -lmpl
27
28 ARCH = LINUX
29 PP = /lib/cpp -P
30
31 #EXE_FILE = unres_MD-M_E0LL2Y_F90_EL.exe
32
33
34 all: no_option
35         @echo "Specify force field: GAB, 4P or E0LL2Y; or NOMPI"
36
37 .SUFFIXES: .f90
38 .f90.o:
39         ${FC} ${FFLAGS} ${CPPFLAGS} $*.f90
40
41 DATA_FILE= ./data
42
43 data = names.o io_units.o calc_data.o compare_data.o control_data.o \
44         CSA_data.o energy_data.o geometry_data.o map_data.o \
45         MCM_data.o MD_data.o minim_data.o MPI_data.o REMD_data.o comm_local.o 
46
47 objects = xdrf/*.o \
48         prng_32.o math.o random.o geometry.o md_calc.o io_base.o energy.o check_bond.o muca_md.o\
49         control.o io_config.o MPI.o minim.o fdisy.o fdiag.o machpd.o \
50         regularize.o compare.o map.o REMD.o MCM_MD.o io.o \
51         MD.o MREMD.o CSA.o unres.o quindibisectok.o quindet2ok.o
52
53
54 #${EXE_FILE}: ${objects}
55 #       ${FC} ${OPT} ${objects} -o ${EXE_FILE}
56
57 no_option:
58
59 #NMPI: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DISNAN 
60 NOMPI: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN \
61         -DSPLITELE -DLANG0
62 #NOMPI: EXE_FILE = ../../bin/unres_MD-M_NO_MPI_F90_EL.exe
63 NOMPI: EXE_FILE = ../../bin/unres_NO_MPI_F90_EL.exe
64
65 NOMPI: ${data} ${objects}
66         cc -o compinfo compinfo.c
67         ./compinfo | true
68         ${FC} ${FFLAGS} cinfo.f90
69         ${FC} ${data} ${objects} cinfo.o -o ${EXE_FILE}
70
71 # ${FC} ${objects} -Xlinker -M -o ${EXE_FILE}
72 GAB: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
73         -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC
74 #GAB: EXE_FILE = ../../bin/unres_MD-M_GAB_F90_EL_opt3.exe
75 GAB: EXE_FILE = ../../bin/unres_GAB_F90_EL.exe
76 GAB: ${data} ${objects}
77         cc -o compinfo compinfo.c
78         ./compinfo | true
79         ${FC} ${FFLAGS} cinfo.f90
80         ${FC} ${OPT} ${data} ${objects} cinfo.o -o ${EXE_FILE}
81
82 4P: CPPFLAGS = -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
83         -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC
84 #4P: EXE_FILE = ../../bin/unres_MD-M_4P_F90_EL_opt3.exe
85 4P: EXE_FILE = ../../bin/unres_4P_F90_EL.exe
86 4P: ${data}${objects}
87         cc -o compinfo compinfo.c
88         ./compinfo | true
89         ${FC} ${FFLAGS} cinfo.f90
90         ${FC} ${OPT} ${data} ${objects} cinfo.o -o ${EXE_FILE}
91
92 E0LL2Y: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
93         -DSPLITELE -DLANG0 
94 #-DFIVEDIAG
95 E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_F90_EL.exe
96 #E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_5DiaF90_EL.exe
97 E0LL2Y: ${data} ${objects}
98         cc -o compinfo compinfo.c
99         ./compinfo | true
100         ${FC} ${FFLAGS} cinfo.f90
101         ${FC} ${OPT} ${data} ${objects} cinfo.o -o ${EXE_FILE}
102
103 NEWGRAD: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
104         -DSPLITELE -DLANG0 -DCARGRAD -DFIVEDIAG
105 NEWGRAD: EXE_FILE = ../../bin/unres_E0LL2Y_F90_EL-NEWG.exe
106 NEWGRAD: ${data} ${objects}
107         cc -o compinfo compinfo.c
108         ./compinfo | true
109         ${FC} ${FFLAGS} cinfo.f90
110         ${FC} ${OPT} ${data} ${objects} cinfo.o -o ${EXE_FILE}
111
112
113 xdrf/*.o:
114         cd xdrf && make
115
116 clean:
117         rm -f *.o && rm -f *.mod && rm -f compinfo && cd xdrf && make clean
118 #       rm -f *.o && rm -f *.mod && rm ${EXE_FILE} && rm -f compinfo && cd xdrf && make clean
119
120
121 names.o: ${DATA_FILE}/names.f90
122         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/names.f90
123
124 io_units.o: ${DATA_FILE}/io_units.f90
125         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/io_units.f90
126
127 calc_data.o: ${DATA_FILE}/calc_data.f90
128         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/calc_data.f90
129
130 compare_data.o: ${DATA_FILE}/compare_data.f90
131         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/compare_data.f90
132
133 control_data.o: ${DATA_FILE}/control_data.f90
134         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/control_data.f90
135
136 CSA_data.o: ${DATA_FILE}/CSA_data.f90
137         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/CSA_data.f90
138
139 energy_data.o: ${DATA_FILE}/energy_data.f90
140         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/energy_data.f90
141
142 geometry_data.o: ${DATA_FILE}/geometry_data.f90
143         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/geometry_data.f90
144
145 map_data.o: ${DATA_FILE}/map_data.f90
146         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/map_data.f90
147
148 MCM_data.o: ${DATA_FILE}/MCM_data.f90
149         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/MCM_data.f90
150
151 MD_data.o: ${DATA_FILE}/MD_data.f90
152         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/MD_data.f90
153
154 minim_data.o: ${DATA_FILE}/minim_data.f90
155         ${FC} ${FFLAGSm} ${CPPFLAGS} ${DATA_FILE}/minim_data.f90
156
157 MPI_data.o: ${DATA_FILE}/MPI_data.f90
158         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/MPI_data.f90
159
160 REMD_data.o: ${DATA_FILE}/REMD_data.f90
161         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/REMD_data.f90
162
163 comm_local.o: ${DATA_FILE}/comm_local.f90
164         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/comm_local.f90
165
166 prng_32.o: prng_32.f90
167         ${FC} ${FFLAGS} ${CPPFLAGS} prng_32.f90
168
169 math.o: math.f90
170         ${FC} ${FFLAGS} ${CPPFLAGS} math.f90
171
172 random.o: random.f90
173         ${FC} ${FFLAGS} ${CPPFLAGS} random.f90
174
175 geometry.o: geometry.f90
176         ${FC} ${FFLAGS} ${CPPFLAGS} geometry.f90
177
178 md_calc.o: md_calc.f90
179         ${FC} ${FFLAGS1} ${CPPFLAGS} md_calc.f90
180
181 io_base.o: io_base.f90
182         ${FC} ${FFLAGS} ${CPPFLAGS} io_base.f90
183
184 energy.o: energy.f90
185         ${FC} ${FFLAGSE} ${CPPFLAGS} energy.f90
186
187 check_bond.o: check_bond.f90
188         ${FC} ${FFLAGS} ${CPPFLAGS} check_bond.f90
189
190 control.o: control.F90
191         ${FC} ${FFLAGS} ${CPPFLAGS} control.F90
192
193 io_config.o: io_config.f90
194         ${FC} ${FFLAGS2} ${CPPFLAGS} io_config.f90
195
196 MPI.o: MPI.f90
197         ${FC} ${FFLAGS} ${CPPFLAGS} MPI.f90
198
199 minim.o: minim.f90
200         ${FC} ${FFLAGS1} ${CPPFLAGS} minim.f90
201
202 regularize.o: regularize.f90
203         ${FC} ${FFLAGS} ${CPPFLAGS} regularize.f90
204
205 compare.o: compare.F90
206         ${FC} ${FFLAGS} ${CPPFLAGS} compare.F90
207
208 map.o: map.f90
209         ${FC} ${FFLAGS} ${CPPFLAGS} map.f90
210
211 muca_md.o: muca_md.f90
212         ${FC} ${FFLAGS} ${CPPFLAGS} muca_md.f90
213
214 REMD.o: REMD.f90
215         ${FC} ${FFLAGSE} ${CPPFLAGS} REMD.f90
216
217 MCM_MD.o: MCM_MD.f90
218         ${FC} ${FFLAGS} ${CPPFLAGS} MCM_MD.f90
219
220 io.o: io.f90
221         ${FC} ${FFLAGS} ${CPPFLAGS} io.f90
222
223 MD.o: MD.f90
224         ${FC} ${FFLAGSE} ${CPPFLAGS} MD.f90
225
226 MREMD.o: MREMD.f90
227         ${FC} ${FFLAGS} ${CPPFLAGS} MREMD.f90
228
229 CSA.o: CSA.f90
230         ${FC} ${FFLAGS} ${CPPFLAGS} CSA.f90
231
232 unres.o: unres.f90
233         ${FC} ${FFLAGS} ${CPPFLAGS} unres.f90
234
235 quindibisectok.o: quindibisectok.F90
236         ${FC} ${FFLAGS} ${CPPFLAGS} quindibisectok.F90
237
238 quindet2ok.o: quindet2ok.F90
239         ${FC} ${FFLAGS} ${CPPFLAGS} quindet2ok.F90
240
241
242
243
244
245
246
247
248