ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Makefile
Revision: 616
Committed: Tue Jul 15 18:52:16 2003 UTC (20 years, 11 months ago) by mmeineke
File size: 8443 byte(s)
Log Message:
cleaned up simSetup

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