36 |
|
|
37 |
|
# SPRNG include path |
38 |
|
SPRNG_INC=@SPRNG_INC@ |
39 |
+ |
|
40 |
+ |
# Compile MPI code? |
41 |
+ |
USE_MPI=@USE_MPI@ |
42 |
+ |
|
43 |
+ |
# MPI include path |
44 |
+ |
MPI_INC_DIR=@MPI_INC_DIR@ |
45 |
|
|
46 |
< |
# MPICH library path |
47 |
< |
MPI_LIBDIR=@MPI_LIBDIR@ |
46 |
> |
# MPI include path |
47 |
> |
MPI_F90_INC=@MPI_F90_INC@ |
48 |
|
|
43 |
– |
# MPICH library |
44 |
– |
MPI_LIB=@MPI_LIB@ |
45 |
– |
|
46 |
– |
# MPICH include path |
47 |
– |
MPI_INC=@MPI_INC@ |
48 |
– |
|
49 |
– |
# MODDIRFLAG |
50 |
– |
MODDIRFLAG=@MODDIRFLAG@ |
51 |
– |
|
52 |
– |
# MPI F90 Module path |
53 |
– |
MPI_F90_MODS=@MPI_F90_MODS@ |
54 |
– |
|
49 |
|
# Compiler dependent Fortran module |
50 |
|
FLIBS_EXTRA = @F90LIBS@ |
51 |
|
|
92 |
|
# C++ flags |
93 |
|
CXXFLAGS_C=@CXXFLAGS@ |
94 |
|
|
95 |
+ |
# C++ template flags |
96 |
+ |
OOPSE_TEMPLATE_FLAGS=@OOPSE_TEMPLATE_FLAGS@ |
97 |
+ |
|
98 |
+ |
# C++ namespace flags |
99 |
+ |
EXTRA_CC_FLAG=@EXTRA_CC_FLAG@ |
100 |
+ |
|
101 |
|
# Preprocessor flag for fortran |
102 |
|
PREPFLAG=@PREPFLAG@ |
103 |
|
|
121 |
|
# include paths starting with "." are all relative to the SUBDIRS!!! |
122 |
|
|
123 |
|
INCLUDES= -I.. -I../../libBASS $(SPRNG_INC) |
124 |
< |
MPI_INCLUDES= -I$(MPI_INC) $(MODDIRFLAG)$(MPI_F90_MODS) |
124 |
> |
MPI_INCLUDES= -I$(MPI_INC_DIR) |
125 |
> |
MPI_F90_INCLUDES= -I$(MPI_F90_INC) |
126 |
|
|
127 |
< |
CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARE) $(MPI_INCLUDES) $(FUNCWRAP) |
128 |
< |
CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARE) $(FUNCWRAP) |
127 |
> |
CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARE) |
128 |
> |
CXXFLAGS=$(CXXFLAGS_C) $(OOPSE_TEMPLATE_FLAGS) $(EXTRA_CC_FLAG) $(INCLUDES) $(DECLARE) |
129 |
|
FFLAGS=$(PREPFLAG) $(FFLAGS_C) |
130 |
< |
F90FLAGS=$(PREPFLAG) $(F90FLAGS_C) |
130 |
> |
F90FLAGS=$(PREPFLAG) $(F90FLAGS_C) -I../../libBASS |
131 |
|
DEPFLAGS=$(CFLAGS_C) -I. -I../libBASS $(SPRNG_INC) $(MPI_INCLUDES) |
132 |
|
|
133 |
|
MPI_CFLAGS=$(CFLAGS) $(MPI_INCLUDES) $(MPI_DECLARE) |
134 |
|
MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARE) |
135 |
< |
MPI_F90FLAGS=$(F90FLAGS) $(PREPDEFFLAG)$(MPI_DECLARE) $(MPI_INCLUDES) |
135 |
> |
MPI_F90FLAGS=$(F90FLAGS) $(MPI_F90_INCLUDES) $(PREPDEFFLAG)$(MPI_DECLARE) |
136 |
|
|
137 |
< |
SRC_DIR := $(PWD) |
137 |
> |
SRC_DIR := .. |
138 |
|
|
139 |
|
# Then do the compile rules: |
140 |
|
|
160 |
|
|
161 |
|
C_FILES = \ |
162 |
|
$(DIR)/mpiForceField.c \ |
163 |
< |
$(DIR)/fInfo.c |
163 |
> |
$(DIR)/MatVec3.c |
164 |
|
|
165 |
|
CXX_FILES = \ |
166 |
< |
$(DIR)/Atom.cpp \ |
166 |
> |
$(DIR)/Atom.cpp \ |
167 |
> |
$(DIR)/AtomVisitor.cpp \ |
168 |
|
$(DIR)/Bend.cpp \ |
169 |
|
$(DIR)/BendExtensions.cpp \ |
170 |
|
$(DIR)/Bond.cpp \ |
171 |
|
$(DIR)/BondExtensions.cpp \ |
172 |
+ |
$(DIR)/CGFamilyMinimizer.cpp \ |
173 |
+ |
$(DIR)/CompositeVisitor.cpp \ |
174 |
|
$(DIR)/DirectionalAtom.cpp \ |
175 |
< |
$(DIR)/DumpWriter.cpp \ |
175 |
> |
$(DIR)/DUFF.cpp \ |
176 |
|
$(DIR)/DumpReader.cpp \ |
177 |
+ |
$(DIR)/DumpWriter.cpp \ |
178 |
+ |
$(DIR)/EAM_FF.cpp \ |
179 |
|
$(DIR)/Exclude.cpp \ |
180 |
+ |
$(DIR)/ForceFields.cpp \ |
181 |
+ |
$(DIR)/fortranWrappers.cpp \ |
182 |
+ |
$(DIR)/GenericData.cpp \ |
183 |
+ |
$(DIR)/GhostBend.cpp \ |
184 |
|
$(DIR)/InitializeFromFile.cpp \ |
175 |
– |
$(DIR)/LJFF.cpp \ |
176 |
– |
$(DIR)/EAM_FF.cpp \ |
177 |
– |
$(DIR)/SimInfo.cpp \ |
178 |
– |
$(DIR)/SimSetup.cpp \ |
179 |
– |
$(DIR)/StatWriter.cpp \ |
185 |
|
$(DIR)/Integrator.cpp \ |
186 |
< |
$(DIR)/Thermo.cpp \ |
187 |
< |
$(DIR)/GhostBend.cpp \ |
183 |
< |
$(DIR)/Torsion.cpp \ |
184 |
< |
$(DIR)/TorsionExtensions.cpp \ |
185 |
< |
$(DIR)/DUFF.cpp \ |
186 |
< |
$(DIR)/randomSPRNG.cpp \ |
187 |
< |
$(DIR)/fortranWrappers.cpp \ |
188 |
< |
$(DIR)/ForceFields.cpp \ |
189 |
< |
$(DIR)/mpiSimulation.cpp \ |
186 |
> |
$(DIR)/LJFF.cpp \ |
187 |
> |
$(DIR)/mdProfile.cpp \ |
188 |
|
$(DIR)/Molecule.cpp \ |
189 |
+ |
$(DIR)/mpiSimulation.cpp \ |
190 |
+ |
$(DIR)/NPT.cpp \ |
191 |
|
$(DIR)/NPTf.cpp \ |
192 |
|
$(DIR)/NPTi.cpp \ |
193 |
|
$(DIR)/NPTxyz.cpp \ |
194 |
|
$(DIR)/NVT.cpp \ |
195 |
+ |
$(DIR)/OOPSEMinimizer.cpp \ |
196 |
+ |
$(DIR)/OtherVisitor.cpp \ |
197 |
+ |
$(DIR)/PRCG.cpp \ |
198 |
+ |
$(DIR)/randomSPRNG.cpp \ |
199 |
+ |
$(DIR)/Restraints.cpp \ |
200 |
+ |
$(DIR)/RigidBody.cpp \ |
201 |
+ |
$(DIR)/RigidBodyVisitor.cpp \ |
202 |
+ |
$(DIR)/SDMinimizer.cpp \ |
203 |
+ |
$(DIR)/SimInfo.cpp \ |
204 |
+ |
$(DIR)/SimSetup.cpp \ |
205 |
|
$(DIR)/SimState.cpp \ |
206 |
+ |
$(DIR)/SkipList.cpp \ |
207 |
+ |
$(DIR)/StatWriter.cpp \ |
208 |
+ |
$(DIR)/StreamTokenizer.cpp \ |
209 |
+ |
$(DIR)/StuntDouble.cpp \ |
210 |
+ |
$(DIR)/Thermo.cpp \ |
211 |
+ |
$(DIR)/Torsion.cpp \ |
212 |
+ |
$(DIR)/TorsionExtensions.cpp \ |
213 |
+ |
$(DIR)/Utility.cpp \ |
214 |
+ |
$(DIR)/WATER.cpp \ |
215 |
+ |
$(DIR)/ZConsReader.cpp \ |
216 |
|
$(DIR)/ZConstraint.cpp \ |
217 |
+ |
$(DIR)/ZconsVisitor.cpp \ |
218 |
+ |
$(DIR)/Restraints.cpp \ |
219 |
+ |
$(DIR)/ConstraintManager.cpp \ |
220 |
+ |
$(DIR)/ConstraintAlgorithm.cpp \ |
221 |
+ |
$(DIR)/Shake.cpp \ |
222 |
+ |
$(DIR)/Rattle.cpp \ |
223 |
+ |
$(DIR)/ShakeMin.cpp \ |
224 |
+ |
$(DIR)/CallbackFunctor.cpp \ |
225 |
+ |
$(DIR)/ConstraintElement.cpp \ |
226 |
|
$(DIR)/ZConsWriter.cpp \ |
227 |
< |
$(DIR)/GenericData.cpp |
227 |
> |
$(DIR)/Vector3d.cpp \ |
228 |
> |
$(DIR)/Quaternion.cpp \ |
229 |
> |
$(DIR)/Mat3x3d.cpp \ |
230 |
> |
$(DIR)/Euler3.cpp \ |
231 |
> |
$(DIR)/Roll.cpp |
232 |
|
|
233 |
|
F90_FILES= \ |
234 |
< |
$(DIR)/definitions_module.F90 \ |
235 |
< |
$(DIR)/status_module.F90 \ |
203 |
< |
$(DIR)/atype_module.F90 \ |
234 |
> |
$(DIR)/atype_module.F90 \ |
235 |
> |
$(DIR)/calc_charge_charge.F90 \ |
236 |
|
$(DIR)/calc_dipole_dipole.F90 \ |
205 |
– |
$(DIR)/calc_reaction_field.F90 \ |
206 |
– |
$(DIR)/calc_LJ_FF.F90 \ |
237 |
|
$(DIR)/calc_eam.F90 \ |
238 |
+ |
$(DIR)/calc_gb.F90 \ |
239 |
+ |
$(DIR)/calc_LJ_FF.F90 \ |
240 |
+ |
$(DIR)/calc_reaction_field.F90 \ |
241 |
|
$(DIR)/calc_sticky_pair.F90 \ |
242 |
+ |
$(DIR)/definitions_module.F90 \ |
243 |
|
$(DIR)/do_Forces.F90 \ |
210 |
– |
$(DIR)/vector_class.F90 \ |
211 |
– |
$(DIR)/simulation_module.F90 \ |
212 |
– |
$(DIR)/wrappers.F90 \ |
213 |
– |
$(DIR)/neighborLists.F90 \ |
214 |
– |
$(DIR)/calc_gb.F90 \ |
244 |
|
$(DIR)/force_globals.F90 \ |
245 |
|
$(DIR)/mpiSimulation_module.F90 \ |
246 |
< |
$(DIR)/notifyCutoffs.F90 |
246 |
> |
$(DIR)/neighborLists.F90 \ |
247 |
> |
$(DIR)/notifyCutoffs.F90 \ |
248 |
> |
$(DIR)/oopseMPI_module.F90 \ |
249 |
> |
$(DIR)/simulation_module.F90 \ |
250 |
> |
$(DIR)/status_module.F90 \ |
251 |
> |
$(DIR)/switch_module.F90 \ |
252 |
> |
$(DIR)/timing.F90 \ |
253 |
> |
$(DIR)/vector_class.F90 \ |
254 |
> |
$(DIR)/wrappers.F90 |
255 |
|
|
256 |
|
DIR:=. |
257 |
|
C_SRCS := $(C_FILES) |
277 |
|
|
278 |
|
# Possible make targets: |
279 |
|
|
280 |
+ |
ifeq ($(USE_MPI),yes) |
281 |
|
all: libmdtools.a libmdtools_MPI.a |
282 |
+ |
else |
283 |
+ |
all: libmdtools.a |
284 |
+ |
endif |
285 |
|
|
286 |
+ |
|
287 |
|
libmdtools.a: $(OBJS) |
288 |
|
$(RM) $@ |
289 |
|
$(AR) cr $@ $(OBJS) |
373 |
|
obj/vector_class$(O) \ |
374 |
|
obj/force_globals$(O) \ |
375 |
|
obj/atype_module$(O) \ |
376 |
+ |
obj/switch_module$(O) \ |
377 |
|
obj/neighborLists$(O) |
378 |
|
|
379 |
|
obj/calc_LJ_FF$(O): ./calc_LJ_FF.F90 \ |
380 |
|
obj/definitions_module$(O) \ |
381 |
|
obj/atype_module$(O) \ |
382 |
+ |
obj/switch_module$(O) \ |
383 |
|
obj/simulation_module$(O) \ |
384 |
|
obj/vector_class$(O) \ |
385 |
|
obj/force_globals$(O) |
389 |
|
obj/vector_class$(O) \ |
390 |
|
obj/atype_module$(O) \ |
391 |
|
obj/simulation_module$(O) \ |
392 |
+ |
obj/status_module$(O) \ |
393 |
|
obj/force_globals$(O) |
394 |
|
|
395 |
|
obj/calc_dipole_dipole$(O): ./calc_dipole_dipole.F90 \ |
397 |
|
obj/atype_module$(O) \ |
398 |
|
obj/simulation_module$(O) \ |
399 |
|
obj/force_globals$(O) \ |
400 |
+ |
obj/status_module$(O) \ |
401 |
|
obj/vector_class$(O) |
402 |
|
|
403 |
+ |
obj/calc_charge_charge$(O): ./calc_charge_charge.F90 \ |
404 |
+ |
obj/definitions_module$(O) \ |
405 |
+ |
obj/atype_module$(O) \ |
406 |
+ |
obj/simulation_module$(O) \ |
407 |
+ |
obj/force_globals$(O) \ |
408 |
+ |
obj/status_module$(O) \ |
409 |
+ |
obj/vector_class$(O) |
410 |
+ |
|
411 |
|
obj/do_Forces$(O): ./do_Forces.F90 \ |
412 |
|
obj/definitions_module$(O) \ |
413 |
|
obj/atype_module$(O) \ |
414 |
+ |
obj/switch_module$(O) \ |
415 |
|
obj/simulation_module$(O) \ |
416 |
|
obj/neighborLists$(O) \ |
417 |
|
obj/calc_LJ_FF$(O) \ |
420 |
|
obj/calc_reaction_field$(O) \ |
421 |
|
obj/calc_gb$(O) \ |
422 |
|
obj/force_globals$(O) \ |
423 |
+ |
obj/status_module$(O) \ |
424 |
|
obj/vector_class$(O) |
425 |
|
|
426 |
|
obj/notifyCutoffs$(O): ./notifyCutoffs.F90 \ |
430 |
|
obj/calc_eam$(O) \ |
431 |
|
obj/calc_dipole_dipole$(O) \ |
432 |
|
obj/calc_reaction_field$(O) \ |
433 |
+ |
obj/switch_module$(O) \ |
434 |
|
obj/do_Forces$(O) |
435 |
|
|
436 |
|
obj/wrappers$(O): ./wrappers.F90 \ |
442 |
|
obj/do_Forces$(O) \ |
443 |
|
obj/notifyCutoffs$(O) |
444 |
|
|
445 |
+ |
obj/timing$(O): ./timing.F90 \ |
446 |
+ |
obj/do_Forces$(O) |
447 |
|
|
448 |
|
|
449 |
|
|
391 |
– |
|
392 |
– |
|
450 |
|
#MPI dependencies: |
451 |
|
|
452 |
|
MPIobj/definitions_module$(O): ./definitions_module.F90 |
455 |
|
|
456 |
|
MPIobj/status_module$(O): ./status_module.F90 |
457 |
|
|
458 |
< |
MPIobj/mpiSimulation_module$(O): ./mpiSimulation_module.F90 |
458 |
> |
MPIobj/oopseMPI_module$(O): ./oopseMPI_module.F90 |
459 |
> |
|
460 |
> |
MPIobj/mpiSimulation_module$(O): ./mpiSimulation_module.F90 \ |
461 |
> |
MPIobj/oopseMPI_module$(O) |
462 |
|
|
463 |
|
MPIobj/force_globals$(O): ./force_globals.F90 \ |
464 |
|
MPIobj/mpiSimulation_module$(O) \ |
500 |
|
MPIobj/force_globals$(O) \ |
501 |
|
MPIobj/mpiSimulation_module$(O) \ |
502 |
|
MPIobj/atype_module$(O) \ |
503 |
+ |
MPIobj/switch_module$(O) \ |
504 |
|
MPIobj/neighborLists$(O) |
505 |
|
|
506 |
|
MPIobj/calc_LJ_FF$(O): ./calc_LJ_FF.F90 \ |
507 |
|
MPIobj/definitions_module$(O) \ |
508 |
|
MPIobj/atype_module$(O) \ |
509 |
+ |
MPIobj/switch_module$(O) \ |
510 |
|
MPIobj/simulation_module$(O) \ |
511 |
|
MPIobj/mpiSimulation_module$(O) \ |
512 |
|
MPIobj/atype_module$(O) \ |
520 |
|
MPIobj/mpiSimulation_module$(O) \ |
521 |
|
MPIobj/vector_class$(O) \ |
522 |
|
MPIobj/atype_module$(O) \ |
523 |
+ |
MPIobj/status_module$(O) \ |
524 |
|
MPIobj/force_globals$(O) |
525 |
|
|
526 |
|
MPIobj/calc_dipole_dipole$(O): ./calc_dipole_dipole.F90 \ |
529 |
|
MPIobj/simulation_module$(O) \ |
530 |
|
MPIobj/mpiSimulation_module$(O) \ |
531 |
|
MPIobj/force_globals$(O) \ |
532 |
+ |
MPIobj/status_module$(O) \ |
533 |
|
MPIobj/vector_class$(O) |
534 |
|
|
535 |
+ |
MPIobj/calc_charge_charge$(O): ./calc_charge_charge.F90 \ |
536 |
+ |
MPIobj/definitions_module$(O) \ |
537 |
+ |
MPIobj/atype_module$(O) \ |
538 |
+ |
MPIobj/simulation_module$(O) \ |
539 |
+ |
MPIobj/mpiSimulation_module$(O) \ |
540 |
+ |
MPIobj/force_globals$(O) \ |
541 |
+ |
MPIobj/status_module$(O) \ |
542 |
+ |
MPIobj/vector_class$(O) |
543 |
+ |
|
544 |
|
MPIobj/do_Forces$(O): ./do_Forces.F90 \ |
545 |
|
MPIobj/definitions_module$(O) \ |
546 |
|
MPIobj/mpiSimulation_module$(O) \ |
547 |
|
MPIobj/atype_module$(O) \ |
548 |
+ |
MPIobj/switch_module$(O) \ |
549 |
|
MPIobj/simulation_module$(O) \ |
550 |
|
MPIobj/neighborLists$(O) \ |
551 |
|
MPIobj/calc_LJ_FF$(O) \ |
554 |
|
MPIobj/calc_reaction_field$(O) \ |
555 |
|
MPIobj/calc_gb$(O) \ |
556 |
|
MPIobj/force_globals$(O) \ |
557 |
+ |
MPIobj/status_module$(O) \ |
558 |
|
MPIobj/vector_class$(O) |
559 |
|
|
560 |
|
MPIobj/notifyCutoffs$(O): ./notifyCutoffs.F90 \ |
564 |
|
MPIobj/calc_eam$(O) \ |
565 |
|
MPIobj/calc_dipole_dipole$(O) \ |
566 |
|
MPIobj/calc_reaction_field$(O) \ |
567 |
+ |
MPIobj/switch_module$(O) \ |
568 |
|
MPIobj/do_Forces$(O) |
569 |
|
|
570 |
|
MPIobj/wrappers$(O): ./wrappers.F90 \ |
577 |
|
MPIobj/do_Forces$(O) \ |
578 |
|
MPIobj/notifyCutoffs$(O) |
579 |
|
|
580 |
+ |
MPIobj/timing$(O): ./timing.F90 \ |
581 |
+ |
MPIobj/do_Forces$(O) \ |
582 |
+ |
MPIobj/mpiSimulation_module$(O) |