unres_package_Oct_2016 from emilial
[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 
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 \
50         regularize.o compare.o map.o REMD.o MCM_MD.o io.o \
51         MD.o MREMD.o CSA.o unres.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 #E0LL2Y: EXE_FILE = ../../bin/unres_MD-M_E0LL2Y_F90_EL_opt3.exe
95 E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_F90_EL.exe
96 E0LL2Y: ${data} ${objects}
97         cc -o compinfo compinfo.c
98         ./compinfo | true
99         ${FC} ${FFLAGS} cinfo.f90
100         ${FC} ${OPT} ${data} ${objects} cinfo.o -o ${EXE_FILE}
101
102
103 xdrf/*.o:
104         cd xdrf && make
105
106 clean:
107         rm -f *.o && rm -f *.mod && rm -f compinfo && cd xdrf && make clean
108 #       rm -f *.o && rm -f *.mod && rm ${EXE_FILE} && rm -f compinfo && cd xdrf && make clean
109
110
111 names.o: ${DATA_FILE}/names.f90
112         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/names.f90
113
114 io_units.o: ${DATA_FILE}/io_units.f90
115         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/io_units.f90
116
117 calc_data.o: ${DATA_FILE}/calc_data.f90
118         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/calc_data.f90
119
120 compare_data.o: ${DATA_FILE}/compare_data.f90
121         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/compare_data.f90
122
123 control_data.o: ${DATA_FILE}/control_data.f90
124         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/control_data.f90
125
126 CSA_data.o: ${DATA_FILE}/CSA_data.f90
127         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/CSA_data.f90
128
129 energy_data.o: ${DATA_FILE}/energy_data.f90
130         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/energy_data.f90
131
132 geometry_data.o: ${DATA_FILE}/geometry_data.f90
133         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/geometry_data.f90
134
135 map_data.o: ${DATA_FILE}/map_data.f90
136         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/map_data.f90
137
138 MCM_data.o: ${DATA_FILE}/MCM_data.f90
139         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/MCM_data.f90
140
141 MD_data.o: ${DATA_FILE}/MD_data.f90
142         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/MD_data.f90
143
144 minim_data.o: ${DATA_FILE}/minim_data.f90
145         ${FC} ${FFLAGSm} ${CPPFLAGS} ${DATA_FILE}/minim_data.f90
146
147 MPI_data.o: ${DATA_FILE}/MPI_data.f90
148         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/MPI_data.f90
149
150 REMD_data.o: ${DATA_FILE}/REMD_data.f90
151         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/REMD_data.f90
152
153 comm_local.o: ${DATA_FILE}/comm_local.f90
154         ${FC} ${FFLAGS} ${CPPFLAGS} ${DATA_FILE}/comm_local.f90
155
156 prng_32.o: prng_32.f90
157         ${FC} ${FFLAGS} ${CPPFLAGS} prng_32.f90
158
159 math.o: math.f90
160         ${FC} ${FFLAGS} ${CPPFLAGS} math.f90
161
162 random.o: random.f90
163         ${FC} ${FFLAGS} ${CPPFLAGS} random.f90
164
165 geometry.o: geometry.f90
166         ${FC} ${FFLAGS} ${CPPFLAGS} geometry.f90
167
168 md_calc.o: md_calc.f90
169         ${FC} ${FFLAGS1} ${CPPFLAGS} md_calc.f90
170
171 io_base.o: io_base.f90
172         ${FC} ${FFLAGS} ${CPPFLAGS} io_base.f90
173
174 energy.o: energy.f90
175         ${FC} ${FFLAGSE} ${CPPFLAGS} energy.f90
176
177 check_bond.o: check_bond.f90
178         ${FC} ${FFLAGS} ${CPPFLAGS} check_bond.f90
179
180 control.o: control.f90
181         ${FC} ${FFLAGS} ${CPPFLAGS} control.f90
182
183 io_config.o: io_config.f90
184         ${FC} ${FFLAGS2} ${CPPFLAGS} io_config.f90
185
186 MPI.o: MPI.f90
187         ${FC} ${FFLAGS} ${CPPFLAGS} MPI.f90
188
189 minim.o: minim.f90
190         ${FC} ${FFLAGS1} ${CPPFLAGS} minim.f90
191
192 regularize.o: regularize.f90
193         ${FC} ${FFLAGS} ${CPPFLAGS} regularize.f90
194
195 compare.o: compare.f90
196         ${FC} ${FFLAGS} ${CPPFLAGS} compare.f90
197
198 map.o: map.f90
199         ${FC} ${FFLAGS} ${CPPFLAGS} map.f90
200
201 muca_md.o: muca_md.f90
202         ${FC} ${FFLAGS} ${CPPFLAGS} muca_md.f90
203
204 REMD.o: REMD.f90
205         ${FC} ${FFLAGSE} ${CPPFLAGS} REMD.f90
206
207 MCM_MD.o: MCM_MD.f90
208         ${FC} ${FFLAGS} ${CPPFLAGS} MCM_MD.f90
209
210 io.o: io.f90
211         ${FC} ${FFLAGS} ${CPPFLAGS} io.f90
212
213 MD.o: MD.f90
214         ${FC} ${FFLAGSE} ${CPPFLAGS} MD.f90
215
216 MREMD.o: MREMD.f90
217         ${FC} ${FFLAGS} ${CPPFLAGS} MREMD.f90
218
219 CSA.o: CSA.f90
220         ${FC} ${FFLAGS} ${CPPFLAGS} CSA.f90
221
222 unres.o: unres.f90
223         ${FC} ${FFLAGS} ${CPPFLAGS} unres.f90