Statistiques
| Révision :

root / src / Makefile

Historique | Voir | Annoter | Télécharger (8,02 ko)

1 1 pfleura2
################### Makefile for Path ############
2 12 pfleura2
# (C) PFL 2008-2014
3 1 pfleura2
#################################################
4 1 pfleura2
# Change the value of Machine before compiling
5 1 pfleura2
# You might also have to edit the location of
6 1 pfleura2
# some libraries (like mkl for ifort)
7 1 pfleura2
8 5 pfleura2
Machine=arqg
9 1 pfleura2
10 1 pfleura2
###########################################
11 1 pfleura2
#                                         #
12 1 pfleura2
########### Main supported compilers     ##
13 1 pfleura2
#                                         #
14 1 pfleura2
###########################################
15 1 pfleura2
ifeq ($(Machine),ifort)
16 3 pfleura2
# Flags for arq Ifort
17 3 pfleura2
COMP=ifort
18 3 pfleura2
#F90=${COMP}   -g -check bounds  -check format -check uninit  -traceback
19 3 pfleura2
F90=${COMP}   -g  -traceback
20 3 pfleura2
F77=${F90}
21 3 pfleura2
#F90=${COMP}
22 3 pfleura2
LIBMATH=  -L/opt/intel/Compiler/11.1/064/mkl/lib/64  \
23 3 pfleura2
    -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential \
24 3 pfleura2
    -lmkl_core -Wl,--end-group
25 3 pfleura2
LINK=${COMP} -lguide -lpthread   -L/usr/lib/
26 1 pfleura2
FreeF=-FR
27 1 pfleura2
endif
28 1 pfleura2
29 1 pfleura2
ifeq ($(Machine),g95)
30 1 pfleura2
# Flags for g95
31 3 pfleura2
COMP=g95 -g   -Wall -fbounds-check
32 1 pfleura2
#COMP=g95  -fbounds-check -g -ftrace=full -ftrace=frame  -save-temps
33 1 pfleura2
F90=${COMP}
34 1 pfleura2
F77=${COMP}
35 3 pfleura2
LIBMATH= -llapack -lblas
36 3 pfleura2
LINK=${COMP}   -L/usr/lib/
37 1 pfleura2
FreeF=-ffree-form
38 1 pfleura2
endif
39 1 pfleura2
40 1 pfleura2
ifeq ($(Machine),gfortran)
41 1 pfleura2
# Flags for gfortran
42 3 pfleura2
COMP=gfortran  -pedantic -std=gnu
43 1 pfleura2
F90=${COMP}
44 1 pfleura2
F77=${COMP}
45 3 pfleura2
LIBMATH= -llapack -lblas
46 3 pfleura2
LINK=${COMP}   -L/usr/lib/
47 1 pfleura2
FreeF=-ffree-form
48 1 pfleura2
endif
49 1 pfleura2
50 1 pfleura2
ifeq ($(Machine),pgf)
51 1 pfleura2
# Flags for PGF
52 1 pfleura2
COMP=pgf90
53 1 pfleura2
FLAGS= -mp  -fast -Kieee -fastsse  -tpp7 -Mipa=fast
54 1 pfleura2
F90=$(COMP)  -c  $(FLAGS)
55 3 pfleura2
LIBMATH= -llapack -lblas
56 3 pfleura2
LINK=${COMP} $(FLAGS)  -L/usr/local/pgi/linux86/6.2/lib  -lpthread
57 1 pfleura2
FreeF=-Mfree
58 1 pfleura2
endif
59 1 pfleura2
60 1 pfleura2
ifeq ($(Machine),pathscale)
61 1 pfleura2
# Flags for PathScale
62 1 pfleura2
COMP=/softs/pathscale/bin/pathf90
63 1 pfleura2
F90=${COMP}
64 3 pfleura2
LIBMATH= -llapack -lblas
65 3 pfleura2
LINK=${COMP}   -L/usr/lib/
66 1 pfleura2
FreeF=-FR
67 1 pfleura2
endif
68 1 pfleura2
69 1 pfleura2
ifeq ($(Machine),xlf)
70 1 pfleura2
# Flags for Xlf
71 1 pfleura2
COMP=xlf
72 1 pfleura2
F90=${COMP}
73 3 pfleura2
LIBMATH= -llapack -lblas
74 3 pfleura2
LINK=${COMP}   -L/usr/lib/
75 1 pfleura2
FreeF=-qfree
76 1 pfleura2
endif
77 1 pfleura2
78 1 pfleura2
############################################
79 1 pfleura2
#
80 1 pfleura2
# national center
81 1 pfleura2
#
82 1 pfleura2
############################################
83 1 pfleura2
#
84 1 pfleura2
#### IDRIS
85 1 pfleura2
#
86 1 pfleura2
ifeq ($(Machine),vargas)
87 1 pfleura2
# Flags for Xlf
88 1 pfleura2
COMP=xlf
89 1 pfleura2
F90=${COMP}
90 1 pfleura2
F77=${COMP}
91 1 pfleura2
LINK=${COMP}   -L/usr/lib/
92 1 pfleura2
FreeF=-qfree
93 1 pfleura2
endif
94 1 pfleura2
95 1 pfleura2
ifeq ($(Machine),idris)
96 1 pfleura2
# Flags for Xlf
97 1 pfleura2
COMP=xlf
98 1 pfleura2
F90=${COMP}
99 1 pfleura2
F77=${COMP}
100 1 pfleura2
LINK=${COMP}   -L/usr/lib/
101 1 pfleura2
FreeF=-qfree
102 1 pfleura2
endif
103 1 pfleura2
#
104 1 pfleura2
#### CINES
105 1 pfleura2
#
106 1 pfleura2
107 1 pfleura2
ifeq ($(Machine),jade)
108 1 pfleura2
# Flags for Ifort
109 1 pfleura2
COMP=ifort
110 1 pfleura2
F90=${COMP}
111 1 pfleura2
F77=${COMP}
112 3 pfleura2
LIBMATH=  -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential \
113 3 pfleura2
           -lmkl_core -Wl,--end-group
114 3 pfleura2
LINK=${COMP}  -lguide -lpthread
115 1 pfleura2
FreeF=-FR
116 1 pfleura2
endif
117 1 pfleura2
118 1 pfleura2
ifeq ($(Machine),zeus)
119 1 pfleura2
# Flags for Xlf
120 1 pfleura2
COMP=xlf
121 1 pfleura2
F90=${COMP}
122 1 pfleura2
F77=${COMP}
123 1 pfleura2
LINK=${COMP}   -L/usr/lib/
124 1 pfleura2
FreeF=-qfree
125 1 pfleura2
endif
126 1 pfleura2
127 1 pfleura2
128 1 pfleura2
############################################
129 1 pfleura2
#
130 1 pfleura2
# local machines at the ENS Lyon
131 1 pfleura2
#
132 1 pfleura2
############################################
133 1 pfleura2
134 1 pfleura2
ifeq ($(Machine),arq)
135 1 pfleura2
# Flags for arq Ifort
136 1 pfleura2
COMP=ifort
137 1 pfleura2
F90=${COMP}   -g -check all -traceback
138 1 pfleura2
F77=${F90}
139 1 pfleura2
#F90=${COMP}
140 1 pfleura2
LINK=${COMP} -lguide -lpthread
141 1 pfleura2
FreeF=-FR
142 1 pfleura2
endif
143 1 pfleura2
144 1 pfleura2
ifeq ($(Machine),arqg)
145 1 pfleura2
# Flags for arq GFortran
146 2 pfleura2
COMP=gfortran -g -fbacktrace -fbounds-check -Wall -Wextra
147 1 pfleura2
F90=${COMP}
148 1 pfleura2
F77=${F90}
149 3 pfleura2
LIBMATH= -llapack -lblas
150 3 pfleura2
LINK=${COMP}  -L/usr/lib/
151 1 pfleura2
FreeF=-ffree-form
152 1 pfleura2
endif
153 1 pfleura2
154 1 pfleura2
ifeq ($(Machine),psmn)
155 1 pfleura2
# Flags for PSMN PathScale
156 1 pfleura2
COMP=/softs/pathscale/bin/pathf90
157 1 pfleura2
F90=${COMP}
158 1 pfleura2
LINK=${COMP}   -L/usr/lib/
159 1 pfleura2
FreeF=-FR
160 1 pfleura2
endif
161 1 pfleura2
162 1 pfleura2
ifeq ($(Machine),psmnI)
163 1 pfleura2
# Flags for PSMN Ifort v12
164 1 pfleura2
COMP=ifort
165 1 pfleura2
F90=${COMP}   -g -check all -traceback
166 1 pfleura2
F77=${F90}
167 1 pfleura2
#F90=${COMP}
168 3 pfleura2
LIBMATH=    -L/softs/intel/v12.0.084/mkl/lib/intel64  \
169 3 pfleura2
 -L/softs/intel/v12.0.084/lib/intel64  -L/usr/lib \
170 1 pfleura2
  -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential \
171 1 pfleura2
           -lmkl_core -Wl,--end-group
172 3 pfleura2
LINK=${COMP}
173 1 pfleura2
FreeF=-FR
174 1 pfleura2
endif
175 1 pfleura2
176 1 pfleura2
177 1 pfleura2
ifeq ($(Machine),psmnI11)
178 1 pfleura2
# Flags for PSMN Ifort v11
179 1 pfleura2
COMP=ifort
180 1 pfleura2
F90=${COMP}   -g -check all -traceback
181 1 pfleura2
F77=${F90}
182 1 pfleura2
#F90=${COMP}
183 3 pfleura2
LIBMATH=   -L/softs/intel/v11.1.069/mkl/lib/em64t  \
184 1 pfleura2
  -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential \
185 3 pfleura2
           -lmkl_core -Wl,--end-group
186 3 pfleura2
LINK=${COMP} -lguide -lpthread   -L/usr/lib/
187 1 pfleura2
FreeF=-FR
188 1 pfleura2
endif
189 1 pfleura2
190 1 pfleura2
###############################################################
191 1 pfleura2
#
192 1 pfleura2
# Help Makefile
193 1 pfleura2
# voir: http://gl.developpez.com/tutoriel/outil/makefile/
194 1 pfleura2
#
195 1 pfleura2
###############################################################
196 1 pfleura2
# $@  	Le nom de la cible
197 1 pfleura2
# $< 	Le nom de la première dépendance
198 1 pfleura2
# $^ 	La liste des dépendances
199 1 pfleura2
# $? 	La liste des dépendances plus récentes que la cible
200 1 pfleura2
# $* 	Le nom du fichier sans suffixe
201 1 pfleura2
202 1 pfleura2
SRC=  Path.f90 \
203 1 pfleura2
      PathCreate.f90 \
204 1 pfleura2
      Read_geom.f90 \
205 5 pfleura2
      ReadGeom_cart.f90 \
206 5 pfleura2
      ReadGeom_vasp.f90 \
207 5 pfleura2
      ReadGeom_turbomole.f90 \
208 5 pfleura2
      ReadGeom_siesta.f90 \
209 5 pfleura2
      ReadInput.f90 \
210 5 pfleura2
      ReadInput_gaussian.f90 \
211 5 pfleura2
      ReadInput_vasp.f90 \
212 5 pfleura2
      ReadInput_mopac.f90 \
213 5 pfleura2
      ReadInput_siesta.f90 \
214 7 pfleura2
      ReadAnaList.f90 \
215 12 pfleura2
      Set_FileDelim.f90 \
216 7 pfleura2
      PrintAnaList.f90 \
217 7 pfleura2
      AnaPath.f90 \
218 7 pfleura2
      AnalyzeGeom.f90 \
219 1 pfleura2
      Calc_zmat.f90 \
220 1 pfleura2
      Calc_zmat_frag.f90 \
221 1 pfleura2
      Calc_zmat_constr_frag.f90 \
222 1 pfleura2
      Decomp_frag.f90 \
223 1 pfleura2
      Calc_mixed_frag.f90 \
224 1 pfleura2
      Calc_baker.f90 \
225 1 pfleura2
      Calc_Xprim.f90 \
226 1 pfleura2
      Calc_baker_allGeomF.f90 \
227 1 pfleura2
      ConvertZmat_cart.f90  \
228 1 pfleura2
      ConvertBakerInternal_cart.f90  \
229 1 pfleura2
      ConvertZmat_cart_3.f90  \
230 5 pfleura2
      Die.f90 \
231 5 pfleura2
      Warning.f90 \
232 5 pfleura2
      WriteList.f90 \
233 5 pfleura2
      SearchInput.f90 \
234 5 pfleura2
      CleanString.f90 \
235 5 pfleura2
      InString.f90 \
236 8 pfleura2
      NoComment.f90 \
237 8 pfleura2
      NoString.f90 \
238 1 pfleura2
      Egrad.f90  \
239 1 pfleura2
      EgradPath.f90 \
240 1 pfleura2
      egrad_gaussian.f90 \
241 1 pfleura2
      egrad_mopac.f90 \
242 5 pfleura2
      egrad_siesta.f90 \
243 1 pfleura2
      egrad_ext.f90 \
244 1 pfleura2
      egrad_test.f90 \
245 5 pfleura2
      egrad_test_2D.f90 \
246 1 pfleura2
      egrad_vasp.f90 \
247 1 pfleura2
      egrad_turbomole.f90 \
248 3 pfleura2
      egrad_LEPS.f90 \
249 1 pfleura2
      CalcHess.f90 \
250 1 pfleura2
      Hupdate_all.f90 \
251 1 pfleura2
      Hupdate_MS.f90 \
252 1 pfleura2
      Hupdate_Bofill.f90 \
253 1 pfleura2
      Hinvup_BFGS.f90 \
254 1 pfleura2
      Hinvup_DFP.f90 \
255 1 pfleura2
      CalcTangent.f90 \
256 1 pfleura2
      Step_RFO_all.f90 \
257 1 pfleura2
      Step_GEDIIS.f90  \
258 1 pfleura2
      Step_GEDIIS_All.f90 \
259 1 pfleura2
      Energy_GEDIIS.f90 \
260 1 pfleura2
      Step_DIIS_all.f90 \
261 1 pfleura2
      Extrapol_int.f90 \
262 1 pfleura2
      Extrapol_baker.f90 \
263 1 pfleura2
      Extrapol_mixed.f90 \
264 1 pfleura2
      Extrapol_cart.f90 \
265 1 pfleura2
      IntCoord_der.f90 \
266 1 pfleura2
      Step_DIIS.f90 \
267 1 pfleura2
      Step_GDIIS_Simple_Err.f90  \
268 1 pfleura2
      minv.f90 \
269 1 pfleura2
      Space.f90 \
270 1 pfleura2
      Space_GEDIIS.f90 \
271 1 pfleura2
      Space_GEDIIS_all.f90 \
272 1 pfleura2
      Space_all.f90 \
273 1 pfleura2
      freemv.f90 \
274 12 pfleura2
      Mat_util.f90
275 1 pfleura2
276 1 pfleura2
SRC0= ConvertNumAt.f90 \
277 1 pfleura2
      CheckPeriodicBound.f90 \
278 1 pfleura2
      Check_step.f90 \
279 1 pfleura2
      TestCart.f90 \
280 1 pfleura2
      Opt_Geom.f90 \
281 1 pfleura2
      PrintGeom.f90 \
282 1 pfleura2
      PrintGeomVasp.f90 \
283 1 pfleura2
      test_zmat.f90 \
284 1 pfleura2
      Annul.f90 \
285 1 pfleura2
      addligne.f90 \
286 1 pfleura2
      Splin1D.f90 \
287 1 pfleura2
      bib_oper.f90 \
288 1 pfleura2
      VectorPer.f90 \
289 1 pfleura2
      ZmatBuild.f90 \
290 12 pfleura2
      WriteMixed_Gaussian.f90 \
291 1 pfleura2
      CalcCnct.f90 \
292 1 pfleura2
      ConvXyzZmat.f90 \
293 1 pfleura2
      ConvXyzMixed.f90 \
294 1 pfleura2
      Add2indzmat.f90 \
295 1 pfleura2
      CalcRmsd.f90\
296 1 pfleura2
      AlignPartial.f90 \
297 1 pfleura2
      Rotation_matrix.f90 \
298 1 pfleura2
      valid.f90  \
299 1 pfleura2
      upcase.f90\
300 1 pfleura2
      CalcBMat_int.f90 \
301 1 pfleura2
      CalcBMat_mixed.f90 \
302 1 pfleura2
      ConvGrad_Cart2Int.f90 \
303 1 pfleura2
      Int2cart.f90 \
304 1 pfleura2
      Mixed2cart.f90 \
305 1 pfleura2
      Write_path.f90  \
306 1 pfleura2
      Write_vasp.f90  \
307 1 pfleura2
      sinangle.f90 \
308 1 pfleura2
      Header.f90 \
309 1 pfleura2
      gaussj.f90  \
310 1 pfleura2
      Expand.f90
311 1 pfleura2
312 1 pfleura2
MAIN= $(SRC:.f90=.o)
313 1 pfleura2
TOOLS= $(SRC0:.f90=.o)
314 1 pfleura2
315 1 pfleura2
MOD = VarTypes.mod \
316 1 pfleura2
      Path_module.mod \
317 12 pfleura2
      Io_module.mod
318 1 pfleura2
319 1 pfleura2
MODo = $(MOD:.mod=.o)
320 1 pfleura2
MODSRC = $(MOD:.mod=.f90)
321 1 pfleura2
322 1 pfleura2
OBJ = ${MAIN} ${TOOLS}
323 1 pfleura2
324 1 pfleura2
EXAMPLES = Path.valid  parameter.dat
325 1 pfleura2
326 1 pfleura2
327 1 pfleura2
all: path utils
328 1 pfleura2
329 1 pfleura2
install:
330 1 pfleura2
	mkdir -p ${PWD}/../exe
331 1 pfleura2
	ln -s ${PWD}/Path.exe ../exe/.
332 1 pfleura2
	ln -s ${PWD}/../utils/xyz2scan ../exe/.
333 1 pfleura2
	ln -s ${PWD}/../utils/xyz2path ../exe/.
334 1 pfleura2
335 1 pfleura2
path: ${MODo} ${OBJ}
336 3 pfleura2
	${LINK} -o Path.exe ${OBJ} ${MODo} ${LIBMATH}
337 1 pfleura2
	@echo ""
338 1 pfleura2
	@echo "Path.exe has been created."
339 1 pfleura2
340 12 pfleura2
path_noL: ${MODo} ${OBJ}
341 12 pfleura2
	${LINK} -o Path.exe ${OBJ} ${MODo}  ./liblapack.a ./librefblas.a
342 1 pfleura2
	@echo ""
343 1 pfleura2
	@echo "Path.exe has been created."
344 1 pfleura2
345 1 pfleura2
util: utils
346 1 pfleura2
utils:  xyz2scan xyz2path
347 1 pfleura2
	@echo ""
348 1 pfleura2
	@echo "Utilities have been created."
349 1 pfleura2
	@echo "Make sure that they are in your PATH environment"
350 1 pfleura2
351 1 pfleura2
xyz2scan: ../utils/Xyz2Scan.f90
352 1 pfleura2
	${F90} -o ../utils/xyz2scan ../utils/Xyz2Scan.f90
353 1 pfleura2
354 1 pfleura2
xyz2path: ../utils/Xyz2Path.f90 ../utils/Xyz2Path.param
355 1 pfleura2
	${F90} -o ../utils/xyz2path ../utils/Xyz2Path.f90
356 1 pfleura2
357 1 pfleura2
clean:
358 12 pfleura2
	rm -f *~ "#"* *.s ${OBJ} *.mod  ${MODo}
359 1 pfleura2
360 1 pfleura2
veryclean: clean
361 12 pfleura2
	rm -f Path.exe ../utils/xyz2scan ../utils/xyz2path
362 1 pfleura2
363 1 pfleura2
%.o : %.mod
364 1 pfleura2
365 1 pfleura2
%.o: %.f90 ${MOD}
366 1 pfleura2
	${F90} -c $*.f90
367 1 pfleura2
368 1 pfleura2
%.o: %.f
369 1 pfleura2
	${F90} -o $@ -c $<
370 1 pfleura2
371 1 pfleura2
%.exe: %.f90
372 1 pfleura2
	${F90} -o $*.exe $*.f90
373 1 pfleura2
	chmod u+x  $*.exe
374 1 pfleura2
375 1 pfleura2
%.mod: %.f90
376 1 pfleura2
	${F90} -c $*.f90