ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Makefile
Revision: 746
Committed: Thu Sep 4 21:48:35 2003 UTC (20 years, 9 months ago) by mmeineke
File size: 9704 byte(s)
Log Message:
added resetTime to the Global namespace.

added ability to reset the integrators in the NVT and NPT family.

File Contents

# Content
1 #####################################################
2 # Makefile for libmdtools (bundled with OOPSE) #
3 #####################################################
4 # You should not change anything here. #
5 #####################################################
6
7 TOP=..
8
9 include $(TOP)/Make.conf
10
11 .SUFFIXES : .c .cpp .F90 .hpp .h $(O)
12
13 # First do compile-time flags:
14
15 DECLARES= -DFRC_PATH="$(FORCE_PARAM_DIR)"
16 MPI_DECLARES= -DIS_MPI
17
18 # include paths starting with "." are all relative to the SUBDIRS!!!
19
20 INCLUDES= -I.. -I../../libBASS -I$(SPRNG_INC)
21 MPI_INCLUDES= -I$(MPICH_INC) -I$(MPI_F90_MODS)
22
23 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES) $(MPI_INCLUDES)
24 CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
25 FFLAGS=$(FFLAGS_C)
26 DEPFLAGS=$(CFLAGS_C) -I. -I../libBASS -I$(SPRNG_INC) $(MPI_INCLUDES)
27
28 MPI_CFLAGS=$(CFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
29 MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
30 MPI_FFLAGS=$(FFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
31
32 SRC_DIR := $(PWD)
33
34 # Then do the compile rules:
35
36 obj/%.o: %.F90
37 cd obj; $(FC) $(FFLAGS) -c $(SRC_DIR)/$<
38
39 MPIobj/%.o: %.F90
40 cd MPIobj; $(FC) $(MPI_FFLAGS) -c $(SRC_DIR)/$<
41
42 obj/%.o: %.cpp
43 cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
44
45 MPIobj/%.o: %.cpp
46 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
47
48 obj/%.o: %.c
49 cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
50
51 MPIobj/%.o: %.c
52 cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
53
54 # Then list what we have to compile
55
56 C_FILES = \
57 $(DIR)/mpiForceField.c \
58 $(DIR)/fInfo.c
59
60 CXX_FILES = \
61 $(DIR)/Atom.cpp \
62 $(DIR)/Bend.cpp \
63 $(DIR)/BendExtensions.cpp \
64 $(DIR)/Bond.cpp \
65 $(DIR)/BondExtensions.cpp \
66 $(DIR)/DirectionalAtom.cpp \
67 $(DIR)/DumpWriter.cpp \
68 $(DIR)/Exclude.cpp \
69 $(DIR)/InitializeFromFile.cpp \
70 $(DIR)/LJFF.cpp \
71 $(DIR)/EAM_FF.cpp \
72 $(DIR)/SimInfo.cpp \
73 $(DIR)/SimSetup.cpp \
74 $(DIR)/StatWriter.cpp \
75 $(DIR)/Integrator.cpp \
76 $(DIR)/Thermo.cpp \
77 $(DIR)/GhostBend.cpp \
78 $(DIR)/Torsion.cpp \
79 $(DIR)/TorsionExtensions.cpp \
80 $(DIR)/DUFF.cpp \
81 $(DIR)/randomSPRNG.cpp \
82 $(DIR)/fortranWrappers.cpp \
83 $(DIR)/ForceFields.cpp \
84 $(DIR)/mpiSimulation.cpp \
85 $(DIR)/Molecule.cpp \
86 $(DIR)/SimState.cpp \
87 $(DIR)/ZConstraint.cpp \
88 $(DIR)/ZConsWriter.cpp \
89 $(DIR)/GenericData.cpp
90
91 F90_FILES= \
92 $(DIR)/Linux_ifc_machdep.F90 \
93 $(DIR)/status_module.F90 \
94 $(DIR)/atype_module.F90 \
95 $(DIR)/calc_dipole_dipole.F90 \
96 $(DIR)/calc_reaction_field.F90 \
97 $(DIR)/calc_LJ_FF.F90 \
98 $(DIR)/calc_eam.F90 \
99 $(DIR)/calc_sticky_pair.F90 \
100 $(DIR)/do_Forces.F90 \
101 $(DIR)/vector_class.F90 \
102 $(DIR)/simulation_module.F90 \
103 $(DIR)/wrappers.F90 \
104 $(DIR)/neighborLists.F90 \
105 $(DIR)/calc_gb.F90 \
106 $(DIR)/force_globals.F90 \
107 $(DIR)/mpiSimulation_module.F90 \
108 $(DIR)/notifyCutoffs.F90
109
110 DIR:=.
111 C_SRCS := $(C_FILES)
112 CXX_SRCS := $(CXX_FILES)
113 F90_SRCS := $(F90_FILES)
114 SRCS := $(C_SRCS) $(CXX_SRCS) $(F90_SRCS)
115
116 DIR:=obj
117 C_OBJS := $(C_FILES:.c=.o)
118 CXX_OBJS := $(CXX_FILES:.cpp=.o)
119 F90_OBJS := $(F90_FILES:.F90=.o)
120 OBJS := $(C_OBJS) $(CXX_OBJS) $(F90_OBJS)
121
122 DIR:=MPIobj
123 C_MPIOBJS := $(C_FILES:.c=.o)
124 CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
125 F90_MPIOBJS := $(F90_FILES:.F90=.o)
126 MPIOBJS := $(C_MPIOBJS) $(CXX_MPIOBJS) $(F90_MPIOBJS)
127
128 LIBSUBDIRS = \
129 obj \
130 MPIobj
131
132 # Possible make targets:
133
134 all: Make.dep libmdtools.a libmdtools_MPI.a
135
136 libmdtools.a: $(OBJS)
137 $(RM) $@
138 $(AR) cr $@ $(OBJS)
139 $(RANLIB) $@
140
141 libmdtools_MPI.a: $(MPIOBJS)
142 $(RM) $@
143 $(AR) cr $@ $(MPIOBJS)
144 $(RANLIB) $@
145
146 .PHONY : clean
147
148 clean : dummy
149 for i in $(LIBSUBDIRS); do \
150 (cd $$i; $(RM) *.o *.mod) || exit 1; \
151 done
152 $(RM) libmdtools.a libmdtools_MPI.a *.o *.mod *~ Make.temp Make.ftemp
153
154 distclean : dummy
155 for i in $(LIBSUBDIRS); do \
156 (cd $$i; $(RM) *.o *.mod) || exit 1; \
157 done
158 $(RM) libmdtools.a libmdtools_MPI.a *.o *.mod *~ Make.temp Make.ftemp Make.dep
159
160 depend : Make.dep
161
162 Make.dep : $(SRCS)
163 echo "Only C dependencies are made automagically!"
164 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
165 $(CC) $(DEPFLAGS) -MM $(C_SRCS) \
166 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
167 $(CXX) $(DEPFLAGS) -MM $(CXX_SRCS) \
168 | sed 's/\.o:/\$$(O)\ :/g' >> Make.temp
169 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
170 cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
171 # ../scripts/sfmakedepend -I $(MPI_F90_MODS) -d obj -f ./Make.ftemp -h *.F90
172 # ../scripts/sfmakedepend -I $(MPI_F90_MODS) -d MPIobj -f ./Make.ftemp -h *.F90
173 # cat Make.ftemp | sed 's/\.o:/\$$(O)\ :/g' >> Make.dep
174 $(RM) Make.ftemp Make.temp
175
176 install : dummy
177
178 links : dummy
179
180 tests : dummy
181
182 dummy :
183
184 include Make.dep
185
186 obj/$(F_MACH_DEFS): ./Linux_ifc_machdep.F90
187
188 obj/vector_class$(O): ./vector_class.F90
189
190 obj/status_module$(O): ./status_module.F90
191
192 obj/force_globals$(O): ./force_globals.F90 \
193 obj/$(F_MACH_DEFS)
194
195 obj/neighborLists$(O): ./neighborLists.F90 \
196 obj/$(F_MACH_DEFS)
197
198 obj/calc_sticky_pair$(O): ./calc_sticky_pair.F90 \
199 obj/$(F_MACH_DEFS) \
200 obj/simulation_module$(O) \
201 obj/force_globals$(O)
202
203 obj/calc_eam$(O): ./calc_eam.F90 \
204 obj/$(F_MACH_DEFS) \
205 obj/atype_module$(O) \
206 obj/simulation_module$(O) \
207 obj/vector_class$(O) \
208 obj/force_globals$(O) \
209 obj/status_module$(O)
210
211 obj/calc_gb$(O): ./calc_gb.F90 \
212 obj/$(F_MACH_DEFS) \
213 obj/simulation_module$(O) \
214 obj/force_globals$(O)
215
216 obj/atype_module$(O): ./atype_module.F90 \
217 obj/$(F_MACH_DEFS) \
218 obj/vector_class$(O)
219
220 obj/simulation_module$(O): ./simulation_module.F90 \
221 obj/$(F_MACH_DEFS) \
222 obj/vector_class$(O) \
223 obj/force_globals$(O) \
224 obj/atype_module$(O) \
225 obj/neighborLists$(O)
226
227 obj/calc_LJ_FF$(O): ./calc_LJ_FF.F90 \
228 obj/$(F_MACH_DEFS) \
229 obj/atype_module$(O) \
230 obj/simulation_module$(O) \
231 obj/vector_class$(O) \
232 obj/force_globals$(O)
233
234 obj/calc_reaction_field$(O): ./calc_reaction_field.F90 \
235 obj/$(F_MACH_DEFS) \
236 obj/vector_class$(O) \
237 obj/atype_module$(O) \
238 obj/simulation_module$(O) \
239 obj/force_globals$(O)
240
241 obj/calc_dipole_dipole$(O): ./calc_dipole_dipole.F90 \
242 obj/$(F_MACH_DEFS) \
243 obj/atype_module$(O) \
244 obj/simulation_module$(O) \
245 obj/force_globals$(O) \
246 obj/vector_class$(O)
247
248 obj/do_Forces$(O): ./do_Forces.F90 \
249 obj/$(F_MACH_DEFS) \
250 obj/atype_module$(O) \
251 obj/simulation_module$(O) \
252 obj/neighborLists$(O) \
253 obj/calc_LJ_FF$(O) \
254 obj/calc_sticky_pair$(O) \
255 obj/calc_dipole_dipole$(O) \
256 obj/calc_reaction_field$(O) \
257 obj/calc_gb$(O) \
258 obj/force_globals$(O) \
259 obj/vector_class$(O)
260
261 obj/notifyCutoffs$(O): ./notifyCutoffs.F90 \
262 obj/$(F_MACH_DEFS) \
263 obj/atype_module$(O) \
264 obj/calc_LJ_FF$(O) \
265 obj/calc_eam$(O) \
266 obj/calc_dipole_dipole$(O) \
267 obj/calc_reaction_field$(O) \
268 obj/do_Forces$(O)
269
270 obj/wrappers$(O): ./wrappers.F90 \
271 obj/$(F_MACH_DEFS) \
272 obj/atype_module$(O) \
273 obj/simulation_module$(O) \
274 obj/calc_sticky_pair$(O) \
275 obj/calc_gb$(O) \
276 obj/do_Forces$(O) \
277 obj/notifyCutoffs$(O)
278
279
280
281
282
283
284 #MPI dependencies:
285
286 MPIobj/$(F_MACH_DEFS): ./Linux_ifc_machdep.F90
287
288 MPIobj/vector_class$(O): ./vector_class.F90
289
290 MPIobj/status_module$(O): ./status_module.F90
291
292 MPIobj/mpiSimulation_module$(O): ./mpiSimulation_module.F90
293
294 MPIobj/force_globals$(O): ./force_globals.F90 \
295 MPIobj/mpiSimulation_module$(O) \
296 MPIobj/$(F_MACH_DEFS)
297
298 MPIobj/neighborLists$(O): ./neighborLists.F90 \
299 MPIobj/$(F_MACH_DEFS) \
300 MPIobj/mpiSimulation_module$(O)
301
302 MPIobj/calc_sticky_pair$(O): ./calc_sticky_pair.F90 \
303 MPIobj/$(F_MACH_DEFS) \
304 MPIobj/simulation_module$(O) \
305 MPIobj/mpiSimulation_module$(O) \
306 MPIobj/force_globals$(O)
307
308 MPIobj/calc_gb$(O): ./calc_gb.F90 \
309 MPIobj/$(F_MACH_DEFS) \
310 MPIobj/simulation_module$(O) \
311 MPIobj/mpiSimulation_module$(O) \
312 MPIobj/force_globals$(O)
313
314 MPIobj/calc_eam$(O): ./calc_eam.F90 \
315 MPIobj/$(F_MACH_DEFS) \
316 MPIobj/atype_module$(O) \
317 MPIobj/simulation_module$(O) \
318 MPIobj/mpiSimulation_module$(O) \
319 MPIobj/vector_class$(O) \
320 MPIobj/force_globals$(O) \
321 MPIobj/status_module$(O)
322
323
324 MPIobj/atype_module$(O): ./atype_module.F90 \
325 MPIobj/$(F_MACH_DEFS) \
326 MPIobj/vector_class$(O)
327
328 MPIobj/simulation_module$(O): ./simulation_module.F90 \
329 MPIobj/$(F_MACH_DEFS) \
330 MPIobj/atype_module$(O) \
331 MPIobj/vector_class$(O) \
332 MPIobj/force_globals$(O) \
333 MPIobj/mpiSimulation_module$(O) \
334 MPIobj/atype_module$(O) \
335 MPIobj/neighborLists$(O)
336
337 MPIobj/calc_LJ_FF$(O): ./calc_LJ_FF.F90 \
338 MPIobj/$(F_MACH_DEFS) \
339 MPIobj/atype_module$(O) \
340 MPIobj/simulation_module$(O) \
341 MPIobj/mpiSimulation_module$(O) \
342 MPIobj/atype_module$(O) \
343 MPIobj/vector_class$(O) \
344 MPIobj/force_globals$(O)
345
346 MPIobj/calc_reaction_field$(O): ./calc_reaction_field.F90 \
347 MPIobj/$(F_MACH_DEFS) \
348 MPIobj/atype_module$(O) \
349 MPIobj/simulation_module$(O) \
350 MPIobj/mpiSimulation_module$(O) \
351 MPIobj/vector_class$(O) \
352 MPIobj/atype_module$(O) \
353 MPIobj/force_globals$(O)
354
355 MPIobj/calc_dipole_dipole$(O): ./calc_dipole_dipole.F90 \
356 MPIobj/$(F_MACH_DEFS) \
357 MPIobj/atype_module$(O) \
358 MPIobj/simulation_module$(O) \
359 MPIobj/mpiSimulation_module$(O) \
360 MPIobj/force_globals$(O) \
361 MPIobj/vector_class$(O)
362
363 MPIobj/do_Forces$(O): ./do_Forces.F90 \
364 MPIobj/$(F_MACH_DEFS) \
365 MPIobj/mpiSimulation_module$(O) \
366 MPIobj/atype_module$(O) \
367 MPIobj/simulation_module$(O) \
368 MPIobj/neighborLists$(O) \
369 MPIobj/calc_LJ_FF$(O) \
370 MPIobj/calc_sticky_pair$(O) \
371 MPIobj/calc_dipole_dipole$(O) \
372 MPIobj/calc_reaction_field$(O) \
373 MPIobj/calc_gb$(O) \
374 MPIobj/force_globals$(O) \
375 MPIobj/vector_class$(O)
376
377 MPIobj/notifyCutoffs$(O): ./notifyCutoffs.F90 \
378 MPIobj/$(F_MACH_DEFS) \
379 MPIobj/atype_module$(O) \
380 MPIobj/calc_LJ_FF$(O) \
381 MPIobj/calc_eam$(O) \
382 MPIobj/calc_dipole_dipole$(O) \
383 MPIobj/calc_reaction_field$(O) \
384 MPIobj/do_Forces$(O)
385
386 MPIobj/wrappers$(O): ./wrappers.F90 \
387 MPIobj/$(F_MACH_DEFS) \
388 MPIobj/mpiSimulation_module$(O) \
389 MPIobj/atype_module$(O) \
390 MPIobj/simulation_module$(O) \
391 MPIobj/calc_sticky_pair$(O) \
392 MPIobj/calc_gb$(O) \
393 MPIobj/do_Forces$(O) \
394 MPIobj/notifyCutoffs$(O)