ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Makefile
Revision: 658
Committed: Thu Jul 31 15:35:07 2003 UTC (20 years, 11 months ago) by tim
File size: 9612 byte(s)
Log Message:
 Added Z constraint.

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