unres_package_Oct_2016 from emilial
[unres4.git] / source / unres / Makefile_final
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 objects = xdrf/*.o names.o io_units.o calc_data.o compare_data.o control_data.o \
42         CSA_data.o energy_data.o geometry_data.o map_data.o \
43         MCM_data.o MD_data.o minim_data.o MPI_data.o REMD_data.o comm_local.o \
44         prng_32.o math.o random.o geometry.o md_calc.o io_base.o energy.o check_bond.o muca_md.o\
45         control.o io_config.o MPI.o minim.o \
46         regularize.o compare.o map.o REMD.o MCM_MD.o io.o \
47         MD.o MREMD.o CSA.o unres.o
48
49
50 #${EXE_FILE}: ${objects}
51 #       ${FC} ${OPT} ${objects} -o ${EXE_FILE}
52
53 no_option:
54
55 #NMPI: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DISNAN 
56 NOMPI: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN \
57         -DSPLITELE -DLANG0
58 #NOMPI: EXE_FILE = ../../bin/unres_MD-M_NO_MPI_F90_EL.exe
59 NOMPI: EXE_FILE = ../../bin/unres_NO_MPI_F90_EL.exe
60
61 NOMPI: ${objects}
62         cc -o compinfo compinfo.c
63         ./compinfo | true
64         ${FC} ${FFLAGS} cinfo.f90
65         ${FC} ${objects} cinfo.o -o ${EXE_FILE}
66
67 # ${FC} ${objects} -Xlinker -M -o ${EXE_FILE}
68 GAB: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
69         -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC
70 #GAB: EXE_FILE = ../../bin/unres_MD-M_GAB_F90_EL_opt3.exe
71 GAB: EXE_FILE = ../../bin/unres_GAB_F90_EL.exe
72 GAB: ${objects}
73         cc -o compinfo compinfo.c
74         ./compinfo | true
75         ${FC} ${FFLAGS} cinfo.f90
76         ${FC} ${OPT} ${objects} cinfo.o -o ${EXE_FILE}
77
78 4P: CPPFLAGS = -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
79         -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC
80 #4P: EXE_FILE = ../../bin/unres_MD-M_4P_F90_EL_opt3.exe
81 4P: EXE_FILE = ../../bin/unres_4P_F90_EL.exe
82 4P: ${objects}
83         cc -o compinfo compinfo.c
84         ./compinfo | true
85         ${FC} ${FFLAGS} cinfo.f90
86         ${FC} ${OPT} ${objects} cinfo.o -o ${EXE_FILE}
87
88 E0LL2Y: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN -DMP -DMPI \
89         -DSPLITELE -DLANG0
90 #E0LL2Y: EXE_FILE = ../../bin/unres_MD-M_E0LL2Y_F90_EL_opt3.exe
91 E0LL2Y: EXE_FILE = ../../bin/unres_E0LL2Y_F90_EL.exe
92 E0LL2Y: ${objects}
93         cc -o compinfo compinfo.c
94         ./compinfo | true
95         ${FC} ${FFLAGS} cinfo.f90
96         ${FC} ${OPT} ${objects} cinfo.o -o ${EXE_FILE}
97
98
99 xdrf/*.o:
100         cd xdrf && make
101
102 clean:
103         rm -f *.o && rm -f *.mod && rm ${EXE_FILE} && rm -f compinfo && cd xdrf && make clean
104
105
106 names.o: names.f90
107         ${FC} ${FFLAGS} ${CPPFLAGS} names.f90
108
109 io_units.o: io_units.f90
110         ${FC} ${FFLAGS} ${CPPFLAGS} io_units.f90
111
112 calc_data.o: calc_data.f90
113         ${FC} ${FFLAGS} ${CPPFLAGS} calc_data.f90
114
115 compare_data.o: compare_data.f90
116         ${FC} ${FFLAGS} ${CPPFLAGS} compare_data.f90
117
118 control_data.o: control_data.f90
119         ${FC} ${FFLAGS} ${CPPFLAGS} control_data.f90
120
121 CSA_data.o: CSA_data.f90
122         ${FC} ${FFLAGS} ${CPPFLAGS} CSA_data.f90
123
124 energy_data.o: energy_data.f90
125         ${FC} ${FFLAGS} ${CPPFLAGS} energy_data.f90
126
127 geometry_data.o: geometry_data.f90
128         ${FC} ${FFLAGS} ${CPPFLAGS} geometry_data.f90
129
130 map_data.o: map_data.f90
131         ${FC} ${FFLAGS} ${CPPFLAGS} map_data.f90
132
133 MCM_data.o: MCM_data.f90
134         ${FC} ${FFLAGS} ${CPPFLAGS} MCM_data.f90
135
136 MD_data.o: MD_data.f90
137         ${FC} ${FFLAGS} ${CPPFLAGS} MD_data.f90
138
139 minim_data.o: minim_data.f90
140         ${FC} ${FFLAGSm} ${CPPFLAGS} minim_data.f90
141
142 MPI_data.o: MPI_data.f90
143         ${FC} ${FFLAGS} ${CPPFLAGS} MPI_data.f90
144
145 REMD_data.o: REMD_data.f90
146         ${FC} ${FFLAGS} ${CPPFLAGS} REMD_data.f90
147
148 comm_local.o: comm_local.f90
149         ${FC} ${FFLAGS} ${CPPFLAGS} comm_local.f90
150
151 prng_32.o: prng_32.f90
152         ${FC} ${FFLAGS} ${CPPFLAGS} prng_32.f90
153
154 math.o: math.f90
155         ${FC} ${FFLAGS} ${CPPFLAGS} math.f90
156
157 random.o: random.f90
158         ${FC} ${FFLAGS} ${CPPFLAGS} random.f90
159
160 geometry.o: geometry.f90
161         ${FC} ${FFLAGS} ${CPPFLAGS} geometry.f90
162
163 md_calc.o: md_calc.f90
164         ${FC} ${FFLAGS1} ${CPPFLAGS} md_calc.f90
165
166 io_base.o: io_base.f90
167         ${FC} ${FFLAGS} ${CPPFLAGS} io_base.f90
168
169 energy.o: energy.f90
170         ${FC} ${FFLAGSE} ${CPPFLAGS} energy.f90
171
172 check_bond.o: check_bond.f90
173         ${FC} ${FFLAGS} ${CPPFLAGS} check_bond.f90
174
175 control.o: control.f90
176         ${FC} ${FFLAGS} ${CPPFLAGS} control.f90
177
178 io_config.o: io_config.f90
179         ${FC} ${FFLAGS2} ${CPPFLAGS} io_config.f90
180
181 MPI.o: MPI.f90
182         ${FC} ${FFLAGS} ${CPPFLAGS} MPI.f90
183
184 minim.o: minim.f90
185         ${FC} ${FFLAGS1} ${CPPFLAGS} minim.f90
186
187 regularize.o: regularize.f90
188         ${FC} ${FFLAGS} ${CPPFLAGS} regularize.f90
189
190 compare.o: compare.f90
191         ${FC} ${FFLAGS} ${CPPFLAGS} compare.f90
192
193 map.o: map.f90
194         ${FC} ${FFLAGS} ${CPPFLAGS} map.f90
195
196 muca_md.o: muca_md.f90
197         ${FC} ${FFLAGS} ${CPPFLAGS} muca_md.f90
198
199 REMD.o: REMD.f90
200         ${FC} ${FFLAGSE} ${CPPFLAGS} REMD.f90
201
202 MCM_MD.o: MCM_MD.f90
203         ${FC} ${FFLAGS} ${CPPFLAGS} MCM_MD.f90
204
205 io.o: io.f90
206         ${FC} ${FFLAGS} ${CPPFLAGS} io.f90
207
208 MD.o: MD.f90
209         ${FC} ${FFLAGSE} ${CPPFLAGS} MD.f90
210
211 MREMD.o: MREMD.f90
212         ${FC} ${FFLAGS} ${CPPFLAGS} MREMD.f90
213
214 CSA.o: CSA.f90
215         ${FC} ${FFLAGS} ${CPPFLAGS} CSA.f90
216
217 unres.o: unres.f90
218         ${FC} ${FFLAGS} ${CPPFLAGS} unres.f90