ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Makefile.in
Revision: 829
Committed: Tue Oct 28 16:03:37 2003 UTC (20 years, 8 months ago) by gezelter
File size: 11528 byte(s)
Log Message:
replace c++ header stuff with more portable c header stuff
Also, mod file fixes and portability changes
Some fortran changes will need to be reversed.

File Contents

# Content
1 #####################################################
2 # Makefile for libmdtools (bundled with OOPSE) #
3 #####################################################
4 # You should not change anything here. #
5 #####################################################
6
7 # No make rules by default
8 .SUFFIXES : .c .cpp .F90 .hpp .h $(O)
9
10 # Extension of object files
11 O=@OBJEXT@
12
13 # Extension of executables
14 EXE=@EXEEXT@
15
16 # Bourn shell
17 SHELL=/bin/sh
18
19 # Path prefix for installation links
20 PREFIX=@prefix@
21
22 # List of subdirectories
23 SUBDIRS=@SUBDIRS@
24
25 # Location of the oopse home
26 OOPSE_HOME=@OOPSE_HOME@
27
28 FORCE_PARAM_DIR=@OOPSE_HOME@/share/forceFields/
29 SAMPLE_SIM_DIR=@OOPSE_HOME@/share/samples/
30
31 # SPRNG library path
32 SPRNG_LIBDIR=@SPRNG_LIBDIR@
33
34 # SPRNG library
35 SPRNG_LIB=@SPRNG_LIB@
36
37 # SPRNG include path
38 SPRNG_INC=@SPRNG_INC@
39
40 # MPICH library path
41 MPI_LIBDIR=@MPI_LIBDIR@
42
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
55 # Compiler dependent Fortran module
56 FLIBS_EXTRA = @F90LIBS@
57
58 # Location of yacc (or its substitution)
59 YACC=@YACC@
60
61 #location of lex
62 LEX=@LEX@
63
64 # C compiler
65 CC=@CC@
66
67 # C++ compiler
68
69 CXX=@CXX@
70
71 # F90 compiler
72 F90=@F90@
73
74 # ar
75 AR=@AR@
76
77 # ranlib
78 RANLIB=@RANLIB@
79
80 # rm
81 RM=rm -f
82
83 # soft link
84 LN_S=@LN_S@
85
86 # BSD install
87 INSTALL=@INSTALL@
88 INSTALL_PROGRAM=@INSTALL_PROGRAM@
89 INSTALL_DATA=@INSTALL_DATA@
90 MKINSTALLDIRS=@MKINSTALLDIRS@
91
92 # CPP flags
93 CPPFLAGS=@CPPFLAGS@
94
95 # C flags
96 CFLAGS_C=@CFLAGS@
97
98 # C++ flags
99 CXXFLAGS_C=@CXXFLAGS@
100
101 # Preprocessor flag for fortran
102 PREPFLAG=@PREPFLAG@
103
104 # Preprocessor define flag for fortran
105 PREPDEFFLAG=@PREPDEFFLAG@
106
107 # Fortran flags
108 FFLAGS_C=@FFLAGS@
109
110 # Fortran90 flags
111 F90FLAGS_C=@F90FLAGS@
112
113 # LDFLAGS
114 LDFLAGS=@LDFLAGS@
115
116 # First do compile-time flags:
117
118 DECLARE=-DFRC_PATH="$(FORCE_PARAM_DIR)"
119 MPI_DECLARE=-DIS_MPI
120
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)
125
126 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARE) $(MPI_INCLUDES) $(FUNCWRAP)
127 CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARE) $(FUNCWRAP)
128 FFLAGS=$(PREPFLAG) $(FFLAGS_C)
129 F90FLAGS=$(PREPFLAG) $(F90FLAGS_C)
130 DEPFLAGS=$(CFLAGS_C) -I. -I../libBASS $(SPRNG_INC) $(MPI_INCLUDES)
131
132 MPI_CFLAGS=$(CFLAGS) $(MPI_INCLUDES) $(MPI_DECLARE)
133 MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARE)
134 MPI_F90FLAGS=$(F90FLAGS) $(PREPDEFFLAG)$(MPI_DECLARE) $(MPI_INCLUDES)
135
136 SRC_DIR := ..
137
138 # Then do the compile rules:
139
140 obj/%.o: %.F90
141 cd obj; $(F90) $(F90FLAGS) -c $(SRC_DIR)/$<
142
143 MPIobj/%.o: %.F90
144 cd MPIobj; $(F90) $(MPI_F90FLAGS) -c $(SRC_DIR)/$<
145
146 obj/%.o: %.cpp
147 cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
148
149 MPIobj/%.o: %.cpp
150 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
151
152 obj/%.o: %.c
153 cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
154
155 MPIobj/%.o: %.c
156 cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
157
158 # Then list what we have to compile
159
160 C_FILES = \
161 $(DIR)/mpiForceField.c \
162 $(DIR)/fInfo.c
163
164 CXX_FILES = \
165 $(DIR)/Atom.cpp \
166 $(DIR)/Bend.cpp \
167 $(DIR)/BendExtensions.cpp \
168 $(DIR)/Bond.cpp \
169 $(DIR)/BondExtensions.cpp \
170 $(DIR)/DirectionalAtom.cpp \
171 $(DIR)/DumpWriter.cpp \
172 $(DIR)/DumpReader.cpp \
173 $(DIR)/Exclude.cpp \
174 $(DIR)/InitializeFromFile.cpp \
175 $(DIR)/LJFF.cpp \
176 $(DIR)/EAM_FF.cpp \
177 $(DIR)/SimInfo.cpp \
178 $(DIR)/SimSetup.cpp \
179 $(DIR)/StatWriter.cpp \
180 $(DIR)/Integrator.cpp \
181 $(DIR)/Thermo.cpp \
182 $(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 \
190 $(DIR)/Molecule.cpp \
191 $(DIR)/NPTf.cpp \
192 $(DIR)/NPTi.cpp \
193 $(DIR)/NPTxyz.cpp \
194 $(DIR)/NVT.cpp \
195 $(DIR)/SimState.cpp \
196 $(DIR)/ZConstraint.cpp \
197 $(DIR)/ZConsWriter.cpp \
198 $(DIR)/GenericData.cpp
199
200 F90_FILES= \
201 $(DIR)/definitions_module.F90 \
202 $(DIR)/status_module.F90 \
203 $(DIR)/atype_module.F90 \
204 $(DIR)/calc_dipole_dipole.F90 \
205 $(DIR)/calc_reaction_field.F90 \
206 $(DIR)/calc_LJ_FF.F90 \
207 $(DIR)/calc_eam.F90 \
208 $(DIR)/calc_sticky_pair.F90 \
209 $(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 \
215 $(DIR)/force_globals.F90 \
216 $(DIR)/mpiSimulation_module.F90 \
217 $(DIR)/notifyCutoffs.F90
218
219 DIR:=.
220 C_SRCS := $(C_FILES)
221 CXX_SRCS := $(CXX_FILES)
222 F90_SRCS := $(F90_FILES)
223 SRCS := $(C_SRCS) $(CXX_SRCS) $(F90_SRCS)
224
225 DIR:=obj
226 C_OBJS := $(C_FILES:.c=.o)
227 CXX_OBJS := $(CXX_FILES:.cpp=.o)
228 F90_OBJS := $(F90_FILES:.F90=.o)
229 OBJS := $(C_OBJS) $(CXX_OBJS) $(F90_OBJS)
230
231 DIR:=MPIobj
232 C_MPIOBJS := $(C_FILES:.c=.o)
233 CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
234 F90_MPIOBJS := $(F90_FILES:.F90=.o)
235 MPIOBJS := $(C_MPIOBJS) $(CXX_MPIOBJS) $(F90_MPIOBJS)
236
237 LIBSUBDIRS = \
238 obj \
239 MPIobj
240
241 # Possible make targets:
242
243 all: libmdtools.a libmdtools_MPI.a
244
245 libmdtools.a: $(OBJS)
246 $(RM) $@
247 $(AR) cr $@ $(OBJS)
248 $(RANLIB) $@
249
250 libmdtools_MPI.a: $(MPIOBJS)
251 $(RM) $@
252 $(AR) cr $@ $(MPIOBJS)
253 $(RANLIB) $@
254
255 .PHONY : clean
256
257 clean : dummy
258 for i in $(LIBSUBDIRS); do \
259 (cd $$i; $(RM) *.o *.mod) || exit 1; \
260 done
261 $(RM) libmdtools.a libmdtools_MPI.a *.o *.mod *~ Make.temp Make.ftemp
262
263 distclean : dummy
264 for i in $(LIBSUBDIRS); do \
265 (cd $$i; $(RM) *.o *.mod) || exit 1; \
266 done
267 $(RM) libmdtools.a libmdtools_MPI.a *.o *.mod *~ Make.temp Make.ftemp
268
269 depend : Make.dep
270
271 Make.dep :
272 echo "Only C dependencies are made automagically!"
273 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
274 $(CC) $(DEPFLAGS) -MM $(C_SRCS) \
275 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
276 $(CXX) $(DEPFLAGS) -MM $(CXX_SRCS) \
277 | sed 's/\.o:/\$$(O)\ :/g' >> Make.temp
278 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
279 cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
280 # ../scripts/sfmakedepend -I $(MPI_F90_MODS) -d obj -f ./Make.ftemp -h *.F90
281 # ../scripts/sfmakedepend -I $(MPI_F90_MODS) -d MPIobj -f ./Make.ftemp -h *.F90
282 # cat Make.ftemp | sed 's/\.o:/\$$(O)\ :/g' >> Make.dep
283 $(RM) Make.ftemp Make.temp
284
285 install : dummy
286
287 links : dummy
288
289 tests : dummy
290
291 dummy :
292
293 include Make.dep
294
295 obj/definitions_module$(O): ./definitions_module.F90
296
297 obj/vector_class$(O): ./vector_class.F90
298
299 obj/status_module$(O): ./status_module.F90
300
301 obj/force_globals$(O): ./force_globals.F90 \
302 obj/definitions_module$(O)
303
304 obj/neighborLists$(O): ./neighborLists.F90 \
305 obj/definitions_module$(O)
306
307 obj/calc_sticky_pair$(O): ./calc_sticky_pair.F90 \
308 obj/definitions_module$(O) \
309 obj/simulation_module$(O) \
310 obj/force_globals$(O)
311
312 obj/calc_eam$(O): ./calc_eam.F90 \
313 obj/definitions_module$(O) \
314 obj/atype_module$(O) \
315 obj/simulation_module$(O) \
316 obj/vector_class$(O) \
317 obj/force_globals$(O) \
318 obj/status_module$(O)
319
320 obj/calc_gb$(O): ./calc_gb.F90 \
321 obj/definitions_module$(O) \
322 obj/simulation_module$(O) \
323 obj/force_globals$(O)
324
325 obj/atype_module$(O): ./atype_module.F90 \
326 obj/definitions_module$(O) \
327 obj/vector_class$(O)
328
329 obj/simulation_module$(O): ./simulation_module.F90 \
330 obj/definitions_module$(O) \
331 obj/vector_class$(O) \
332 obj/force_globals$(O) \
333 obj/atype_module$(O) \
334 obj/neighborLists$(O)
335
336 obj/calc_LJ_FF$(O): ./calc_LJ_FF.F90 \
337 obj/definitions_module$(O) \
338 obj/atype_module$(O) \
339 obj/simulation_module$(O) \
340 obj/vector_class$(O) \
341 obj/force_globals$(O)
342
343 obj/calc_reaction_field$(O): ./calc_reaction_field.F90 \
344 obj/definitions_module$(O) \
345 obj/vector_class$(O) \
346 obj/atype_module$(O) \
347 obj/simulation_module$(O) \
348 obj/force_globals$(O)
349
350 obj/calc_dipole_dipole$(O): ./calc_dipole_dipole.F90 \
351 obj/definitions_module$(O) \
352 obj/atype_module$(O) \
353 obj/simulation_module$(O) \
354 obj/force_globals$(O) \
355 obj/vector_class$(O)
356
357 obj/do_Forces$(O): ./do_Forces.F90 \
358 obj/definitions_module$(O) \
359 obj/atype_module$(O) \
360 obj/simulation_module$(O) \
361 obj/neighborLists$(O) \
362 obj/calc_LJ_FF$(O) \
363 obj/calc_sticky_pair$(O) \
364 obj/calc_dipole_dipole$(O) \
365 obj/calc_reaction_field$(O) \
366 obj/calc_gb$(O) \
367 obj/force_globals$(O) \
368 obj/vector_class$(O)
369
370 obj/notifyCutoffs$(O): ./notifyCutoffs.F90 \
371 obj/definitions_module$(O) \
372 obj/atype_module$(O) \
373 obj/calc_LJ_FF$(O) \
374 obj/calc_eam$(O) \
375 obj/calc_dipole_dipole$(O) \
376 obj/calc_reaction_field$(O) \
377 obj/do_Forces$(O)
378
379 obj/wrappers$(O): ./wrappers.F90 \
380 obj/definitions_module$(O) \
381 obj/atype_module$(O) \
382 obj/simulation_module$(O) \
383 obj/calc_sticky_pair$(O) \
384 obj/calc_gb$(O) \
385 obj/do_Forces$(O) \
386 obj/notifyCutoffs$(O)
387
388
389
390
391
392
393 #MPI dependencies:
394
395 MPIobj/definitions_module$(O): ./definitions_module.F90
396
397 MPIobj/vector_class$(O): ./vector_class.F90
398
399 MPIobj/status_module$(O): ./status_module.F90
400
401 MPIobj/mpiSimulation_module$(O): ./mpiSimulation_module.F90
402
403 MPIobj/force_globals$(O): ./force_globals.F90 \
404 MPIobj/mpiSimulation_module$(O) \
405 MPIobj/definitions_module$(O)
406
407 MPIobj/neighborLists$(O): ./neighborLists.F90 \
408 MPIobj/definitions_module$(O) \
409 MPIobj/mpiSimulation_module$(O)
410
411 MPIobj/calc_sticky_pair$(O): ./calc_sticky_pair.F90 \
412 MPIobj/definitions_module$(O) \
413 MPIobj/simulation_module$(O) \
414 MPIobj/mpiSimulation_module$(O) \
415 MPIobj/force_globals$(O)
416
417 MPIobj/calc_gb$(O): ./calc_gb.F90 \
418 MPIobj/definitions_module$(O) \
419 MPIobj/simulation_module$(O) \
420 MPIobj/mpiSimulation_module$(O) \
421 MPIobj/force_globals$(O)
422
423 MPIobj/calc_eam$(O): ./calc_eam.F90 \
424 MPIobj/definitions_module$(O) \
425 MPIobj/atype_module$(O) \
426 MPIobj/simulation_module$(O) \
427 MPIobj/mpiSimulation_module$(O) \
428 MPIobj/vector_class$(O) \
429 MPIobj/force_globals$(O) \
430 MPIobj/status_module$(O)
431
432 MPIobj/atype_module$(O): ./atype_module.F90 \
433 MPIobj/definitions_module$(O) \
434 MPIobj/vector_class$(O)
435
436 MPIobj/simulation_module$(O): ./simulation_module.F90 \
437 MPIobj/definitions_module$(O) \
438 MPIobj/atype_module$(O) \
439 MPIobj/vector_class$(O) \
440 MPIobj/force_globals$(O) \
441 MPIobj/mpiSimulation_module$(O) \
442 MPIobj/atype_module$(O) \
443 MPIobj/neighborLists$(O)
444
445 MPIobj/calc_LJ_FF$(O): ./calc_LJ_FF.F90 \
446 MPIobj/definitions_module$(O) \
447 MPIobj/atype_module$(O) \
448 MPIobj/simulation_module$(O) \
449 MPIobj/mpiSimulation_module$(O) \
450 MPIobj/atype_module$(O) \
451 MPIobj/vector_class$(O) \
452 MPIobj/force_globals$(O)
453
454 MPIobj/calc_reaction_field$(O): ./calc_reaction_field.F90 \
455 MPIobj/definitions_module$(O) \
456 MPIobj/atype_module$(O) \
457 MPIobj/simulation_module$(O) \
458 MPIobj/mpiSimulation_module$(O) \
459 MPIobj/vector_class$(O) \
460 MPIobj/atype_module$(O) \
461 MPIobj/force_globals$(O)
462
463 MPIobj/calc_dipole_dipole$(O): ./calc_dipole_dipole.F90 \
464 MPIobj/definitions_module$(O) \
465 MPIobj/atype_module$(O) \
466 MPIobj/simulation_module$(O) \
467 MPIobj/mpiSimulation_module$(O) \
468 MPIobj/force_globals$(O) \
469 MPIobj/vector_class$(O)
470
471 MPIobj/do_Forces$(O): ./do_Forces.F90 \
472 MPIobj/definitions_module$(O) \
473 MPIobj/mpiSimulation_module$(O) \
474 MPIobj/atype_module$(O) \
475 MPIobj/simulation_module$(O) \
476 MPIobj/neighborLists$(O) \
477 MPIobj/calc_LJ_FF$(O) \
478 MPIobj/calc_sticky_pair$(O) \
479 MPIobj/calc_dipole_dipole$(O) \
480 MPIobj/calc_reaction_field$(O) \
481 MPIobj/calc_gb$(O) \
482 MPIobj/force_globals$(O) \
483 MPIobj/vector_class$(O)
484
485 MPIobj/notifyCutoffs$(O): ./notifyCutoffs.F90 \
486 MPIobj/definitions_module$(O) \
487 MPIobj/atype_module$(O) \
488 MPIobj/calc_LJ_FF$(O) \
489 MPIobj/calc_eam$(O) \
490 MPIobj/calc_dipole_dipole$(O) \
491 MPIobj/calc_reaction_field$(O) \
492 MPIobj/do_Forces$(O)
493
494 MPIobj/wrappers$(O): ./wrappers.F90 \
495 MPIobj/definitions_module$(O) \
496 MPIobj/mpiSimulation_module$(O) \
497 MPIobj/atype_module$(O) \
498 MPIobj/simulation_module$(O) \
499 MPIobj/calc_sticky_pair$(O) \
500 MPIobj/calc_gb$(O) \
501 MPIobj/do_Forces$(O) \
502 MPIobj/notifyCutoffs$(O)
503