ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Makefile
Revision: 466
Committed: Mon Apr 7 14:30:36 2003 UTC (21 years, 3 months ago) by gezelter
File size: 8347 byte(s)
Log Message:
Added ExtendedSystem infrastructure for NPT and NVT calculations

File Contents

# User Rev Content
1 mmeineke 377 #####################################################
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 gezelter 385 DECLARES= -DFRC_PATH="$(FORCE_PARAM_DIR)"
16 mmeineke 377 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 mmeineke 447 MPI_INCLUDES= -I$(MPICH_INC) -I$(MPI_F90_MODS)
22 mmeineke 377
23     CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES) $(MPI_INCLUDES)
24     CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
25     FFLAGS=$(FFLAGS_C) $(DECLARES)
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     # Then do the compile rules:
33    
34     obj/%.o: %.F90
35     cd obj; $(FC) $(FFLAGS) -c ../$<
36    
37     MPIobj/%.o: %.F90
38     cd MPIobj; $(FC) $(MPI_FFLAGS) -c ../$<
39    
40     obj/%.o: %.cpp
41     cd obj; $(CXX) $(CXXFLAGS) -c ../$<
42    
43     MPIobj/%.o: %.cpp
44     cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c ../$<
45    
46     obj/%.o: %.c
47     cd obj; $(CC) $(CFLAGS) -c ../$<
48    
49     MPIobj/%.o: %.c
50     cd MPIobj; $(CC) $(MPI_CFLAGS) -c ../$<
51    
52     # Then list what we have to compile
53    
54     C_FILES = $(DIR)/mpiForceField.c
55    
56     CXX_FILES = \
57 gezelter 411 $(DIR)/Atom.cpp \
58 mmeineke 377 $(DIR)/Bend.cpp \
59     $(DIR)/BendExtensions.cpp \
60     $(DIR)/Bond.cpp \
61     $(DIR)/BondExtensions.cpp \
62     $(DIR)/DirectionalAtom.cpp \
63     $(DIR)/DumpWriter.cpp \
64 gezelter 411 $(DIR)/Exclude.cpp \
65 gezelter 466 $(DIR)/ExtendedSystem.cpp \
66 mmeineke 377 $(DIR)/InitializeFromFile.cpp \
67     $(DIR)/LJ_FF.cpp \
68     $(DIR)/SimInfo.cpp \
69     $(DIR)/SimSetup.cpp \
70     $(DIR)/StatWriter.cpp \
71     $(DIR)/Symplectic.cpp \
72     $(DIR)/Thermo.cpp \
73     $(DIR)/GhostBend.cpp \
74     $(DIR)/Torsion.cpp \
75     $(DIR)/TorsionExtensions.cpp \
76     $(DIR)/TraPPE_ExFF.cpp \
77     $(DIR)/Verlet.cpp \
78     $(DIR)/randomSPRNG.cpp \
79     $(DIR)/fortranWrappers.cpp \
80     $(DIR)/ForceFields.cpp \
81 mmeineke 424 $(DIR)/mpiSimulation.cpp \
82 mmeineke 425 $(DIR)/Molecule.cpp
83 mmeineke 377
84    
85     F90_FILES= \
86     $(DIR)/Linux_ifc_machdep.F90 \
87     $(DIR)/atype_module.F90 \
88     $(DIR)/f_verlet_constrained.F90 \
89     $(DIR)/calc_dipole_dipole.F90 \
90     $(DIR)/calc_reaction_field.F90 \
91     $(DIR)/calc_LJ_FF.F90 \
92     $(DIR)/calc_sticky_pair.F90 \
93     $(DIR)/do_Forces.F90 \
94     $(DIR)/vector_class.F90 \
95     $(DIR)/simulation_module.F90 \
96     $(DIR)/wrappers.F90 \
97     $(DIR)/neighborLists.F90 \
98     $(DIR)/calc_gb.F90 \
99     $(DIR)/force_globals.F90 \
100     $(DIR)/mpiSimulation_module.F90
101    
102     DIR:=.
103     C_SRCS := $(C_FILES)
104     CXX_SRCS := $(CXX_FILES)
105     F90_SRCS := $(F90_FILES)
106 gezelter 385 SRCS := $(C_SRCS) $(CXX_SRCS) $(F90_SRCS)
107 mmeineke 377
108     DIR:=obj
109     C_OBJS := $(C_FILES:.c=.o)
110     CXX_OBJS := $(CXX_FILES:.cpp=.o)
111     F90_OBJS := $(F90_FILES:.F90=.o)
112     OBJS := $(C_OBJS) $(CXX_OBJS) $(F90_OBJS)
113    
114     DIR:=MPIobj
115     C_MPIOBJS := $(C_FILES:.c=.o)
116     CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
117     F90_MPIOBJS := $(F90_FILES:.F90=.o)
118     MPIOBJS := $(C_MPIOBJS) $(CXX_MPIOBJS) $(F90_MPIOBJS)
119    
120     LIBSUBDIRS = \
121     obj \
122     MPIobj
123    
124     # Possible make targets:
125    
126 mmeineke 379 all: Make.dep libmdtools.a libmdtools_MPI.a
127 mmeineke 377
128     libmdtools.a: $(OBJS)
129     $(RM) $@
130     $(AR) cr $@ $(OBJS)
131     $(RANLIB) $@
132    
133     libmdtools_MPI.a: $(MPIOBJS)
134     $(RM) $@
135     $(AR) cr $@ $(MPIOBJS)
136     $(RANLIB) $@
137    
138     .PHONY : clean
139    
140     clean : dummy
141     for i in $(LIBSUBDIRS); do \
142     (cd $$i; $(RM) *.o *.mod) || exit 1; \
143     done
144     $(RM) libmdtools.a libmdtools_MPI.a *.o *.mod *~ Make.temp Make.ftemp
145    
146     distclean : dummy
147     for i in $(LIBSUBDIRS); do \
148     (cd $$i; $(RM) *.o *.mod) || exit 1; \
149     done
150 gezelter 385 $(RM) libmdtools.a libmdtools_MPI.a *.o *.mod *~ Make.temp Make.ftemp Make.dep
151 mmeineke 377
152 gezelter 385 depend : Make.dep
153 mmeineke 379
154 gezelter 385 Make.dep : $(SRCS)
155 mmeineke 377 echo "Only C dependencies are made automagically!"
156     echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
157     $(CC) $(DEPFLAGS) -MM $(C_SRCS) $(CXX_SRCS) \
158     | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
159     cat Make.temp | sed 's/^/obj\//' >> Make.dep
160     cat Make.temp | sed 's/^/MPIobj\//' >> Make.dep
161 gezelter 385 # ../scripts/sfmakedepend -I $(MPI_F90_MODS) -d obj -f ./Make.ftemp -h *.F90
162     # ../scripts/sfmakedepend -I $(MPI_F90_MODS) -d MPIobj -f ./Make.ftemp -h *.F90
163 mmeineke 377 # cat Make.ftemp | sed 's/\.o:/\$$(O)\ :/g' >> Make.dep
164     $(RM) Make.ftemp Make.temp
165    
166     install : dummy
167    
168     links : dummy
169    
170     tests : dummy
171    
172     dummy :
173    
174     include Make.dep
175    
176 gezelter 386 obj/$(F_MACH_DEFS): ./Linux_ifc_machdep.F90
177 mmeineke 377
178 gezelter 386 obj/vector_class$(O): ./vector_class.F90
179 mmeineke 377
180 gezelter 386 obj/force_globals$(O): ./force_globals.F90 \
181 mmeineke 377 obj/$(F_MACH_DEFS)
182    
183 gezelter 386 obj/neighborLists$(O): ./neighborLists.F90 \
184 mmeineke 377 obj/$(F_MACH_DEFS)
185    
186 gezelter 386 obj/calc_sticky_pair$(O): ./calc_sticky_pair.F90 \
187 mmeineke 377 obj/$(F_MACH_DEFS) \
188 chuckv 460 obj/simulation_module$(O) \
189 mmeineke 377 obj/force_globals$(O)
190    
191 gezelter 386 obj/calc_gb$(O): ./calc_gb.F90 \
192 mmeineke 377 obj/$(F_MACH_DEFS) \
193 chuckv 460 obj/simulation_module$(O) \
194 mmeineke 377 obj/force_globals$(O)
195    
196 gezelter 386 obj/atype_module$(O): ./atype_module.F90 \
197 mmeineke 377 obj/$(F_MACH_DEFS) \
198 gezelter 462 obj/vector_class$(O)
199 mmeineke 377
200 gezelter 386 obj/simulation_module$(O): ./simulation_module.F90 \
201 mmeineke 377 obj/$(F_MACH_DEFS) \
202 chuckv 460 obj/vector_class$(O) \
203     obj/force_globals$(O) \
204 mmeineke 377 obj/atype_module$(O) \
205     obj/neighborLists$(O)
206    
207 gezelter 386 obj/calc_LJ_FF$(O): ./calc_LJ_FF.F90 \
208 mmeineke 377 obj/$(F_MACH_DEFS) \
209     obj/atype_module$(O) \
210 chuckv 460 obj/simulation_module$(O) \
211 mmeineke 377 obj/vector_class$(O) \
212     obj/force_globals$(O)
213    
214 gezelter 386 obj/calc_reaction_field$(O): ./calc_reaction_field.F90 \
215 mmeineke 377 obj/$(F_MACH_DEFS) \
216     obj/vector_class$(O) \
217 gezelter 462 obj/atype_module$(O) \
218 chuckv 460 obj/simulation_module$(O) \
219 mmeineke 377 obj/force_globals$(O)
220    
221 gezelter 386 obj/calc_dipole_dipole$(O): ./calc_dipole_dipole.F90 \
222 mmeineke 377 obj/$(F_MACH_DEFS) \
223     obj/atype_module$(O) \
224 chuckv 460 obj/simulation_module$(O) \
225 mmeineke 377 obj/force_globals$(O) \
226     obj/vector_class$(O)
227    
228 gezelter 386 obj/do_Forces$(O): ./do_Forces.F90 \
229 mmeineke 377 obj/$(F_MACH_DEFS) \
230 gezelter 462 obj/atype_module$(O) \
231 mmeineke 377 obj/simulation_module$(O) \
232     obj/neighborLists$(O) \
233     obj/calc_LJ_FF$(O) \
234     obj/calc_sticky_pair$(O) \
235     obj/calc_dipole_dipole$(O) \
236     obj/calc_reaction_field$(O) \
237     obj/calc_gb$(O) \
238     obj/force_globals$(O)
239    
240 gezelter 386 obj/wrappers$(O): ./wrappers.F90 \
241 mmeineke 377 obj/$(F_MACH_DEFS) \
242 gezelter 462 obj/atype_module$(O) \
243 mmeineke 377 obj/simulation_module$(O) \
244 gezelter 462 obj/calc_sticky_pair$(O) \
245     obj/calc_gb$(O) \
246 mmeineke 377 obj/do_Forces$(O)
247    
248     #MPI dependencies:
249    
250 gezelter 386 MPIobj/$(F_MACH_DEFS): ./Linux_ifc_machdep.F90
251 mmeineke 377
252 gezelter 386 MPIobj/vector_class$(O): ./vector_class.F90
253 mmeineke 377
254 gezelter 386 MPIobj/mpiSimulation_module$(O): ./mpiSimulation_module.F90
255 mmeineke 377
256 gezelter 386 MPIobj/force_globals$(O): ./force_globals.F90 \
257 mmeineke 377 MPIobj/mpiSimulation_module$(O) \
258     MPIobj/$(F_MACH_DEFS)
259    
260 gezelter 386 MPIobj/neighborLists$(O): ./neighborLists.F90 \
261 mmeineke 377 MPIobj/$(F_MACH_DEFS) \
262     MPIobj/mpiSimulation_module$(O)
263    
264 gezelter 386 MPIobj/calc_sticky_pair$(O): ./calc_sticky_pair.F90 \
265 mmeineke 377 MPIobj/$(F_MACH_DEFS) \
266 chuckv 460 MPIobj/simulation_module$(O) \
267 mmeineke 377 MPIobj/mpiSimulation_module$(O) \
268     MPIobj/force_globals$(O)
269    
270 gezelter 386 MPIobj/calc_gb$(O): ./calc_gb.F90 \
271 mmeineke 377 MPIobj/$(F_MACH_DEFS) \
272 chuckv 460 MPIobj/simulation_module$(O) \
273 mmeineke 377 MPIobj/mpiSimulation_module$(O) \
274     MPIobj/force_globals$(O)
275    
276 gezelter 386 MPIobj/atype_module$(O): ./atype_module.F90 \
277 mmeineke 377 MPIobj/$(F_MACH_DEFS) \
278 gezelter 462 MPIobj/vector_class$(O)
279 mmeineke 377
280 gezelter 386 MPIobj/simulation_module$(O): ./simulation_module.F90 \
281 mmeineke 377 MPIobj/$(F_MACH_DEFS) \
282 gezelter 462 MPIobj/atype_module$(O) \
283 chuckv 460 MPIobj/vector_class$(O) \
284     MPIobj/force_globals$(O) \
285 mmeineke 377 MPIobj/mpiSimulation_module$(O) \
286     MPIobj/atype_module$(O) \
287     MPIobj/neighborLists$(O)
288    
289 gezelter 386 MPIobj/calc_LJ_FF$(O): ./calc_LJ_FF.F90 \
290 mmeineke 377 MPIobj/$(F_MACH_DEFS) \
291 gezelter 462 MPIobj/atype_module$(O) \
292 chuckv 460 MPIobj/simulation_module$(O) \
293 mmeineke 377 MPIobj/mpiSimulation_module$(O) \
294     MPIobj/atype_module$(O) \
295     MPIobj/vector_class$(O) \
296     MPIobj/force_globals$(O)
297    
298 gezelter 386 MPIobj/calc_reaction_field$(O): ./calc_reaction_field.F90 \
299 mmeineke 377 MPIobj/$(F_MACH_DEFS) \
300 gezelter 462 MPIobj/atype_module$(O) \
301 chuckv 460 MPIobj/simulation_module$(O) \
302 mmeineke 377 MPIobj/mpiSimulation_module$(O) \
303     MPIobj/vector_class$(O) \
304     MPIobj/atype_module$(O) \
305     MPIobj/force_globals$(O)
306    
307 gezelter 386 MPIobj/calc_dipole_dipole$(O): ./calc_dipole_dipole.F90 \
308 mmeineke 377 MPIobj/$(F_MACH_DEFS) \
309 gezelter 462 MPIobj/atype_module$(O) \
310 chuckv 460 MPIobj/simulation_module$(O) \
311 mmeineke 377 MPIobj/mpiSimulation_module$(O) \
312     MPIobj/force_globals$(O) \
313     MPIobj/vector_class$(O)
314    
315 gezelter 386 MPIobj/do_Forces$(O): ./do_Forces.F90 \
316 mmeineke 377 MPIobj/$(F_MACH_DEFS) \
317     MPIobj/mpiSimulation_module$(O) \
318 gezelter 462 MPIobj/atype_module$(O) \
319 mmeineke 377 MPIobj/simulation_module$(O) \
320     MPIobj/neighborLists$(O) \
321     MPIobj/calc_LJ_FF$(O) \
322     MPIobj/calc_sticky_pair$(O) \
323     MPIobj/calc_dipole_dipole$(O) \
324     MPIobj/calc_reaction_field$(O) \
325     MPIobj/calc_gb$(O) \
326     MPIobj/force_globals$(O)
327    
328 gezelter 386 MPIobj/wrappers$(O): ./wrappers.F90 \
329 mmeineke 377 MPIobj/$(F_MACH_DEFS) \
330     MPIobj/mpiSimulation_module$(O) \
331 gezelter 462 MPIobj/atype_module$(O) \
332 mmeineke 377 MPIobj/simulation_module$(O) \
333 gezelter 462 MPIobj/calc_sticky_pair$(O) \
334     MPIobj/calc_gb$(O) \
335 mmeineke 377 MPIobj/do_Forces$(O)