ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Makefile.in
Revision: 1064
Committed: Tue Feb 24 15:44:45 2004 UTC (20 years, 4 months ago) by tim
File size: 12560 byte(s)
Log Message:
Using inherit instead of compose to implement Minimizer
both versions are working

File Contents

# User Rev Content
1 gezelter 747 #####################################################
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 gezelter 826 # MODDIRFLAG
50     MODDIRFLAG=@MODDIRFLAG@
51    
52 gezelter 747 # Compiler dependent Fortran module
53     FLIBS_EXTRA = @F90LIBS@
54    
55     # Location of yacc (or its substitution)
56     YACC=@YACC@
57    
58     #location of lex
59     LEX=@LEX@
60    
61     # C compiler
62     CC=@CC@
63    
64     # C++ compiler
65    
66     CXX=@CXX@
67    
68     # F90 compiler
69     F90=@F90@
70    
71     # ar
72     AR=@AR@
73    
74     # ranlib
75     RANLIB=@RANLIB@
76    
77     # rm
78     RM=rm -f
79    
80     # soft link
81     LN_S=@LN_S@
82    
83     # BSD install
84     INSTALL=@INSTALL@
85     INSTALL_PROGRAM=@INSTALL_PROGRAM@
86     INSTALL_DATA=@INSTALL_DATA@
87     MKINSTALLDIRS=@MKINSTALLDIRS@
88    
89     # CPP flags
90     CPPFLAGS=@CPPFLAGS@
91    
92     # C flags
93     CFLAGS_C=@CFLAGS@
94    
95     # C++ flags
96     CXXFLAGS_C=@CXXFLAGS@
97    
98 gezelter 840 # C++ template flags
99     OOPSE_TEMPLATE_FLAGS=@OOPSE_TEMPLATE_FLAGS@
100    
101     # C++ namespace flags
102     EXTRA_CC_FLAG=@EXTRA_CC_FLAG@
103    
104 gezelter 747 # Preprocessor flag for fortran
105     PREPFLAG=@PREPFLAG@
106    
107     # Preprocessor define flag for fortran
108     PREPDEFFLAG=@PREPDEFFLAG@
109    
110     # Fortran flags
111 gezelter 785 FFLAGS_C=@FFLAGS@
112 gezelter 747
113 gezelter 785 # Fortran90 flags
114     F90FLAGS_C=@F90FLAGS@
115    
116 gezelter 747 # LDFLAGS
117     LDFLAGS=@LDFLAGS@
118    
119     # First do compile-time flags:
120    
121     DECLARE=-DFRC_PATH="$(FORCE_PARAM_DIR)"
122     MPI_DECLARE=-DIS_MPI
123    
124     # include paths starting with "." are all relative to the SUBDIRS!!!
125    
126     INCLUDES= -I.. -I../../libBASS $(SPRNG_INC)
127 gezelter 940 MPI_INCLUDES= -I$(MPI_INC)
128 chuckv 858 F90_INCLUDES= -I/usr/local/include
129 gezelter 747
130     CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARE) $(MPI_INCLUDES) $(FUNCWRAP)
131 gezelter 840 CXXFLAGS=$(CXXFLAGS_C) $(OOPSE_TEMPLATE_FLAGS) $(EXTRA_CC_FLAG) $(INCLUDES) $(DECLARE) $(FUNCWRAP)
132 gezelter 747 FFLAGS=$(PREPFLAG) $(FFLAGS_C)
133 chuckv 858 F90FLAGS=$(PREPFLAG) $(F90FLAGS_C) $(F90_INCLUDES)
134 gezelter 747 DEPFLAGS=$(CFLAGS_C) -I. -I../libBASS $(SPRNG_INC) $(MPI_INCLUDES)
135    
136     MPI_CFLAGS=$(CFLAGS) $(MPI_INCLUDES) $(MPI_DECLARE)
137     MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARE)
138 gezelter 785 MPI_F90FLAGS=$(F90FLAGS) $(PREPDEFFLAG)$(MPI_DECLARE) $(MPI_INCLUDES)
139 gezelter 747
140 gezelter 829 SRC_DIR := ..
141 gezelter 747
142     # Then do the compile rules:
143    
144     obj/%.o: %.F90
145 gezelter 785 cd obj; $(F90) $(F90FLAGS) -c $(SRC_DIR)/$<
146 gezelter 747
147     MPIobj/%.o: %.F90
148 gezelter 785 cd MPIobj; $(F90) $(MPI_F90FLAGS) -c $(SRC_DIR)/$<
149 gezelter 747
150     obj/%.o: %.cpp
151     cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
152    
153     MPIobj/%.o: %.cpp
154     cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
155    
156     obj/%.o: %.c
157     cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
158    
159     MPIobj/%.o: %.c
160     cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
161    
162     # Then list what we have to compile
163    
164     C_FILES = \
165     $(DIR)/mpiForceField.c \
166     $(DIR)/fInfo.c
167    
168     CXX_FILES = \
169     $(DIR)/Atom.cpp \
170     $(DIR)/Bend.cpp \
171     $(DIR)/BendExtensions.cpp \
172     $(DIR)/Bond.cpp \
173     $(DIR)/BondExtensions.cpp \
174     $(DIR)/DirectionalAtom.cpp \
175     $(DIR)/DumpWriter.cpp \
176 mmeineke 804 $(DIR)/DumpReader.cpp \
177 gezelter 747 $(DIR)/Exclude.cpp \
178     $(DIR)/InitializeFromFile.cpp \
179     $(DIR)/LJFF.cpp \
180     $(DIR)/EAM_FF.cpp \
181 chrisfen 999 $(DIR)/WATER.cpp \
182 gezelter 747 $(DIR)/SimInfo.cpp \
183     $(DIR)/SimSetup.cpp \
184     $(DIR)/StatWriter.cpp \
185     $(DIR)/Integrator.cpp \
186     $(DIR)/Thermo.cpp \
187     $(DIR)/GhostBend.cpp \
188     $(DIR)/Torsion.cpp \
189     $(DIR)/TorsionExtensions.cpp \
190     $(DIR)/DUFF.cpp \
191     $(DIR)/randomSPRNG.cpp \
192     $(DIR)/fortranWrappers.cpp \
193     $(DIR)/ForceFields.cpp \
194     $(DIR)/Molecule.cpp \
195 gezelter 761 $(DIR)/NPTf.cpp \
196     $(DIR)/NPTi.cpp \
197 mmeineke 812 $(DIR)/NPTxyz.cpp \
198 gezelter 761 $(DIR)/NVT.cpp \
199 gezelter 747 $(DIR)/SimState.cpp \
200     $(DIR)/ZConstraint.cpp \
201     $(DIR)/ZConsWriter.cpp \
202 mmeineke 887 $(DIR)/mdProfile.cpp \
203 gezelter 940 $(DIR)/GenericData.cpp \
204 tim 1031 $(DIR)/mpiSimulation.cpp \
205 tim 1032 $(DIR)/Utility.cpp \
206 tim 1064 $(DIR)/OOPSEMinimizer.cpp \
207     $(DIR)/CGFamilyMinimizer.cpp \
208     $(DIR)/PRCG.cpp \
209     $(DIR)/SDMinimizer.cpp
210 gezelter 747
211 tim 1064
212 gezelter 747 F90_FILES= \
213     $(DIR)/definitions_module.F90 \
214     $(DIR)/status_module.F90 \
215     $(DIR)/atype_module.F90 \
216     $(DIR)/calc_dipole_dipole.F90 \
217 gezelter 940 $(DIR)/calc_charge_charge.F90 \
218 gezelter 747 $(DIR)/calc_reaction_field.F90 \
219     $(DIR)/calc_LJ_FF.F90 \
220     $(DIR)/calc_eam.F90 \
221     $(DIR)/calc_sticky_pair.F90 \
222     $(DIR)/do_Forces.F90 \
223     $(DIR)/vector_class.F90 \
224     $(DIR)/simulation_module.F90 \
225     $(DIR)/wrappers.F90 \
226     $(DIR)/neighborLists.F90 \
227     $(DIR)/calc_gb.F90 \
228     $(DIR)/force_globals.F90 \
229     $(DIR)/mpiSimulation_module.F90 \
230 chuckv 858 $(DIR)/notifyCutoffs.F90 \
231 gezelter 940 $(DIR)/timing.F90 \
232     $(DIR)/oopseMPI_module.F90
233 gezelter 747
234     DIR:=.
235     C_SRCS := $(C_FILES)
236     CXX_SRCS := $(CXX_FILES)
237     F90_SRCS := $(F90_FILES)
238     SRCS := $(C_SRCS) $(CXX_SRCS) $(F90_SRCS)
239    
240     DIR:=obj
241     C_OBJS := $(C_FILES:.c=.o)
242     CXX_OBJS := $(CXX_FILES:.cpp=.o)
243     F90_OBJS := $(F90_FILES:.F90=.o)
244     OBJS := $(C_OBJS) $(CXX_OBJS) $(F90_OBJS)
245    
246     DIR:=MPIobj
247     C_MPIOBJS := $(C_FILES:.c=.o)
248     CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
249     F90_MPIOBJS := $(F90_FILES:.F90=.o)
250     MPIOBJS := $(C_MPIOBJS) $(CXX_MPIOBJS) $(F90_MPIOBJS)
251    
252     LIBSUBDIRS = \
253     obj \
254     MPIobj
255    
256     # Possible make targets:
257    
258     all: libmdtools.a libmdtools_MPI.a
259    
260     libmdtools.a: $(OBJS)
261     $(RM) $@
262     $(AR) cr $@ $(OBJS)
263     $(RANLIB) $@
264    
265     libmdtools_MPI.a: $(MPIOBJS)
266     $(RM) $@
267     $(AR) cr $@ $(MPIOBJS)
268     $(RANLIB) $@
269    
270     .PHONY : clean
271    
272     clean : dummy
273     for i in $(LIBSUBDIRS); do \
274     (cd $$i; $(RM) *.o *.mod) || exit 1; \
275     done
276     $(RM) libmdtools.a libmdtools_MPI.a *.o *.mod *~ Make.temp Make.ftemp
277    
278     distclean : dummy
279     for i in $(LIBSUBDIRS); do \
280     (cd $$i; $(RM) *.o *.mod) || exit 1; \
281     done
282     $(RM) libmdtools.a libmdtools_MPI.a *.o *.mod *~ Make.temp Make.ftemp
283    
284     depend : Make.dep
285    
286     Make.dep :
287     echo "Only C dependencies are made automagically!"
288     echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
289     $(CC) $(DEPFLAGS) -MM $(C_SRCS) \
290     | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
291     $(CXX) $(DEPFLAGS) -MM $(CXX_SRCS) \
292     | sed 's/\.o:/\$$(O)\ :/g' >> Make.temp
293     cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
294     cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
295     # ../scripts/sfmakedepend -I $(MPI_F90_MODS) -d obj -f ./Make.ftemp -h *.F90
296     # ../scripts/sfmakedepend -I $(MPI_F90_MODS) -d MPIobj -f ./Make.ftemp -h *.F90
297     # cat Make.ftemp | sed 's/\.o:/\$$(O)\ :/g' >> Make.dep
298     $(RM) Make.ftemp Make.temp
299    
300     install : dummy
301    
302     links : dummy
303    
304     tests : dummy
305    
306     dummy :
307    
308     include Make.dep
309    
310     obj/definitions_module$(O): ./definitions_module.F90
311    
312     obj/vector_class$(O): ./vector_class.F90
313    
314     obj/status_module$(O): ./status_module.F90
315    
316     obj/force_globals$(O): ./force_globals.F90 \
317     obj/definitions_module$(O)
318    
319     obj/neighborLists$(O): ./neighborLists.F90 \
320     obj/definitions_module$(O)
321    
322     obj/calc_sticky_pair$(O): ./calc_sticky_pair.F90 \
323     obj/definitions_module$(O) \
324     obj/simulation_module$(O) \
325     obj/force_globals$(O)
326    
327     obj/calc_eam$(O): ./calc_eam.F90 \
328     obj/definitions_module$(O) \
329     obj/atype_module$(O) \
330     obj/simulation_module$(O) \
331     obj/vector_class$(O) \
332     obj/force_globals$(O) \
333     obj/status_module$(O)
334    
335     obj/calc_gb$(O): ./calc_gb.F90 \
336     obj/definitions_module$(O) \
337     obj/simulation_module$(O) \
338     obj/force_globals$(O)
339    
340     obj/atype_module$(O): ./atype_module.F90 \
341     obj/definitions_module$(O) \
342     obj/vector_class$(O)
343    
344     obj/simulation_module$(O): ./simulation_module.F90 \
345     obj/definitions_module$(O) \
346     obj/vector_class$(O) \
347     obj/force_globals$(O) \
348     obj/atype_module$(O) \
349     obj/neighborLists$(O)
350    
351     obj/calc_LJ_FF$(O): ./calc_LJ_FF.F90 \
352     obj/definitions_module$(O) \
353     obj/atype_module$(O) \
354     obj/simulation_module$(O) \
355     obj/vector_class$(O) \
356     obj/force_globals$(O)
357    
358     obj/calc_reaction_field$(O): ./calc_reaction_field.F90 \
359     obj/definitions_module$(O) \
360     obj/vector_class$(O) \
361     obj/atype_module$(O) \
362     obj/simulation_module$(O) \
363     obj/force_globals$(O)
364    
365     obj/calc_dipole_dipole$(O): ./calc_dipole_dipole.F90 \
366     obj/definitions_module$(O) \
367     obj/atype_module$(O) \
368     obj/simulation_module$(O) \
369     obj/force_globals$(O) \
370     obj/vector_class$(O)
371    
372 gezelter 940 obj/calc_charge_charge$(O): ./calc_charge_charge.F90 \
373     obj/definitions_module$(O) \
374     obj/atype_module$(O) \
375     obj/simulation_module$(O) \
376     obj/force_globals$(O) \
377     obj/vector_class$(O)
378    
379 gezelter 747 obj/do_Forces$(O): ./do_Forces.F90 \
380     obj/definitions_module$(O) \
381     obj/atype_module$(O) \
382     obj/simulation_module$(O) \
383     obj/neighborLists$(O) \
384     obj/calc_LJ_FF$(O) \
385     obj/calc_sticky_pair$(O) \
386     obj/calc_dipole_dipole$(O) \
387     obj/calc_reaction_field$(O) \
388     obj/calc_gb$(O) \
389     obj/force_globals$(O) \
390     obj/vector_class$(O)
391    
392     obj/notifyCutoffs$(O): ./notifyCutoffs.F90 \
393     obj/definitions_module$(O) \
394     obj/atype_module$(O) \
395     obj/calc_LJ_FF$(O) \
396     obj/calc_eam$(O) \
397     obj/calc_dipole_dipole$(O) \
398     obj/calc_reaction_field$(O) \
399     obj/do_Forces$(O)
400    
401     obj/wrappers$(O): ./wrappers.F90 \
402     obj/definitions_module$(O) \
403     obj/atype_module$(O) \
404     obj/simulation_module$(O) \
405     obj/calc_sticky_pair$(O) \
406     obj/calc_gb$(O) \
407     obj/do_Forces$(O) \
408     obj/notifyCutoffs$(O)
409    
410 mmeineke 891 obj/timing$(O): ./timing.F90 \
411     obj/do_Forces$(O)
412 gezelter 747
413    
414    
415     #MPI dependencies:
416    
417     MPIobj/definitions_module$(O): ./definitions_module.F90
418    
419     MPIobj/vector_class$(O): ./vector_class.F90
420    
421     MPIobj/status_module$(O): ./status_module.F90
422    
423 chuckv 858 MPIobj/oopseMPI_module$(O): ./oopseMPI_module.F90
424 gezelter 747
425 chuckv 858 MPIobj/mpiSimulation_module$(O): ./mpiSimulation_module.F90 \
426     MPIobj/oopseMPI_module$(O)
427    
428 gezelter 747 MPIobj/force_globals$(O): ./force_globals.F90 \
429     MPIobj/mpiSimulation_module$(O) \
430     MPIobj/definitions_module$(O)
431    
432     MPIobj/neighborLists$(O): ./neighborLists.F90 \
433     MPIobj/definitions_module$(O) \
434     MPIobj/mpiSimulation_module$(O)
435    
436     MPIobj/calc_sticky_pair$(O): ./calc_sticky_pair.F90 \
437     MPIobj/definitions_module$(O) \
438     MPIobj/simulation_module$(O) \
439     MPIobj/mpiSimulation_module$(O) \
440     MPIobj/force_globals$(O)
441    
442     MPIobj/calc_gb$(O): ./calc_gb.F90 \
443     MPIobj/definitions_module$(O) \
444     MPIobj/simulation_module$(O) \
445     MPIobj/mpiSimulation_module$(O) \
446     MPIobj/force_globals$(O)
447    
448     MPIobj/calc_eam$(O): ./calc_eam.F90 \
449     MPIobj/definitions_module$(O) \
450     MPIobj/atype_module$(O) \
451     MPIobj/simulation_module$(O) \
452     MPIobj/mpiSimulation_module$(O) \
453     MPIobj/vector_class$(O) \
454     MPIobj/force_globals$(O) \
455     MPIobj/status_module$(O)
456    
457     MPIobj/atype_module$(O): ./atype_module.F90 \
458     MPIobj/definitions_module$(O) \
459     MPIobj/vector_class$(O)
460    
461     MPIobj/simulation_module$(O): ./simulation_module.F90 \
462     MPIobj/definitions_module$(O) \
463     MPIobj/atype_module$(O) \
464     MPIobj/vector_class$(O) \
465     MPIobj/force_globals$(O) \
466     MPIobj/mpiSimulation_module$(O) \
467     MPIobj/atype_module$(O) \
468     MPIobj/neighborLists$(O)
469    
470     MPIobj/calc_LJ_FF$(O): ./calc_LJ_FF.F90 \
471     MPIobj/definitions_module$(O) \
472     MPIobj/atype_module$(O) \
473     MPIobj/simulation_module$(O) \
474     MPIobj/mpiSimulation_module$(O) \
475     MPIobj/atype_module$(O) \
476     MPIobj/vector_class$(O) \
477     MPIobj/force_globals$(O)
478    
479     MPIobj/calc_reaction_field$(O): ./calc_reaction_field.F90 \
480     MPIobj/definitions_module$(O) \
481     MPIobj/atype_module$(O) \
482     MPIobj/simulation_module$(O) \
483     MPIobj/mpiSimulation_module$(O) \
484     MPIobj/vector_class$(O) \
485     MPIobj/atype_module$(O) \
486     MPIobj/force_globals$(O)
487    
488     MPIobj/calc_dipole_dipole$(O): ./calc_dipole_dipole.F90 \
489     MPIobj/definitions_module$(O) \
490     MPIobj/atype_module$(O) \
491     MPIobj/simulation_module$(O) \
492     MPIobj/mpiSimulation_module$(O) \
493     MPIobj/force_globals$(O) \
494     MPIobj/vector_class$(O)
495    
496 gezelter 940 MPIobj/calc_charge_charge$(O): ./calc_charge_charge.F90 \
497     MPIobj/definitions_module$(O) \
498     MPIobj/atype_module$(O) \
499     MPIobj/simulation_module$(O) \
500     MPIobj/mpiSimulation_module$(O) \
501     MPIobj/force_globals$(O) \
502     MPIobj/vector_class$(O)
503    
504 gezelter 747 MPIobj/do_Forces$(O): ./do_Forces.F90 \
505     MPIobj/definitions_module$(O) \
506     MPIobj/mpiSimulation_module$(O) \
507     MPIobj/atype_module$(O) \
508     MPIobj/simulation_module$(O) \
509     MPIobj/neighborLists$(O) \
510     MPIobj/calc_LJ_FF$(O) \
511     MPIobj/calc_sticky_pair$(O) \
512     MPIobj/calc_dipole_dipole$(O) \
513     MPIobj/calc_reaction_field$(O) \
514     MPIobj/calc_gb$(O) \
515     MPIobj/force_globals$(O) \
516     MPIobj/vector_class$(O)
517    
518     MPIobj/notifyCutoffs$(O): ./notifyCutoffs.F90 \
519     MPIobj/definitions_module$(O) \
520     MPIobj/atype_module$(O) \
521     MPIobj/calc_LJ_FF$(O) \
522     MPIobj/calc_eam$(O) \
523     MPIobj/calc_dipole_dipole$(O) \
524     MPIobj/calc_reaction_field$(O) \
525     MPIobj/do_Forces$(O)
526    
527     MPIobj/wrappers$(O): ./wrappers.F90 \
528     MPIobj/definitions_module$(O) \
529     MPIobj/mpiSimulation_module$(O) \
530     MPIobj/atype_module$(O) \
531     MPIobj/simulation_module$(O) \
532     MPIobj/calc_sticky_pair$(O) \
533     MPIobj/calc_gb$(O) \
534     MPIobj/do_Forces$(O) \
535     MPIobj/notifyCutoffs$(O)
536    
537 mmeineke 891 MPIobj/timing$(O): ./timing.F90 \
538     MPIobj/do_Forces$(O) \
539     MPIobj/mpiSimulation_module$(O)