ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/src/Makefile.in
Revision: 838
Committed: Wed Oct 29 03:06:51 2003 UTC (20 years, 8 months ago) by gezelter
File size: 4536 byte(s)
Log Message:
compatibility fixes

File Contents

# User Rev Content
1 gezelter 747 #####################################################
2     # Makefile for OOPSE #
3     #####################################################
4     # You should not change anything here. #
5     #####################################################
6    
7     # No make rules by default
8     .SUFFIXES : .c $(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     # MPI F90 Module path
50     MPI_F90_MODS=@MPI_F90_MODS@
51    
52 gezelter 785 # MPI F90 libname
53     MPIMODLIBNAME=@MPIMODLIBNAME@
54 gezelter 747
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 gezelter 785 # F90 libraries (for linking with C)
72     F90LIBS=@F90LIBS@
73    
74 gezelter 747 # 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 gezelter 785 # Fortran90 flags
111     F90FLAGS_C=@F90FLAGS@
112    
113 gezelter 747 # LDFLAGS
114     LDFLAGS=@LDFLAGS@
115    
116     TOP=..
117    
118     # First do compile-time flags:
119    
120     MPI_DECLARES= -DIS_MPI
121    
122     # include paths starting with "." are all relative to the SUBDIRS!!!
123    
124     INCLUDES= -I.. -I../../libBASS -I../../libmdtools
125     MPI_INCLUDES= -I$(MPI_INC)
126     CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
127     DEPFLAGS=$(CFLAGS_C) -I. $(SPRNG_INC) $(MPI_INCLUDES) -I../libBASS -I../libmdtools
128     MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
129    
130     OOPSE=oopse$(EXE)
131     OOPSE_MPI=oopse_MPI$(EXE)
132    
133     BASS_LIB=$(TOP)/libBASS/libBASS.a
134     BASS_MPI_LIB=$(TOP)/libBASS/libBASS_MPI.a
135     MD_LIB=$(TOP)/libmdtools/libmdtools.a
136     MD_MPI_LIB=$(TOP)/libmdtools/libmdtools_MPI.a
137 gezelter 785 LIBS=$(MD_LIB) $(BASS_LIB)
138     MPI_LIBS=$(MD_MPI_LIB) $(BASS_MPI_LIB)
139 gezelter 747
140 gezelter 834 OOPSE_LDFLAGS= $(LIBS) $(F90LIBS) -L$(SPRNG_LIBDIR) $(SPRNG_LIB)
141 gezelter 747
142 gezelter 838 OOPSE_MPI_LDFLAGS= -L$(MPI_LIBDIR) $(MPIMODLIBNAME) $(MPI_LIB) $(MPI_LIBS) $(F90LIBS) -L$(SPRNG_LIBDIR) $(SPRNG_LIB)
143 gezelter 747
144     PREFS=-DOOPSE_HOME=\"$(OOPSE_HOME)\"
145    
146     obj/%.o: %.cpp
147     cd obj; $(CXX) $(CXXFLAGS) -c ../$<
148    
149     MPIobj/%.o: %.cpp
150     cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c ../$<
151    
152     CXX_FILES = \
153     $(DIR)/oopse.cpp \
154     $(DIR)/oose.cpp
155    
156     DIR:=.
157     CXX_SRCS := $(CXX_FILES)
158    
159     DIR:=obj
160     CXX_OBJS := $(CXX_FILES:.cpp=.o)
161     OBJS := $(CXX_OBJS)
162    
163     DIR:=MPIobj
164     CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
165     MPIOBJS := $(CXX_MPIOBJS)
166    
167     LIBSUBDIRS = \
168     obj \
169     MPIobj
170    
171     all : $(OOPSE) $(OOPSE_MPI)
172    
173     depend: Make.dep
174    
175     oopse$(EXE) : $(OBJS) $(BASS_LIB) $(MD_LIB)
176     $(CXX) $(CFLAGS) $(OBJS) -g -o $@ $(OOPSE_LDFLAGS)
177    
178     oopse_MPI$(EXE) : $(MPIOBJS) $(BASS_MPI_LIB) $(MD_MPI_LIB)
179     $(CXX) $(CFLAGS) $(MPIOBJS) -g -o $@ $(OOPSE_MPI_LDFLAGS)
180    
181     install : $(OOPSE) $(OOPSE_MPI)
182     $(MKINSTALLDIRS) $(OOPSE_HOME)/bin
183     $(INSTALL_PROGRAM) -s $(OOPSE) $(OOPSE_HOME)/bin/$(OOPSE)
184     $(INSTALL_PROGRAM) -s $(OOPSE_MPI) $(OOPSE_HOME)/bin/$(OOPSE_MPI)
185    
186     tests : dummy
187    
188     $(OOPSE_HOME)/bin/$(OOPSE) : $(OOPSE)
189     $(MAKE) install
190    
191     $(OOPSE_HOME)/bin/$(OOPSE_MPI) : $(OOPSE_MPI)
192     $(MAKE) install
193    
194     links : $(OOPSE_HOME)/bin/$(OOPSE) $(OOPSE_HOME)/bin/$(OOPSE_MPI)
195     $(MKINSTALLDIRS) $(PREFIX)/bin
196     cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(OOPSE) $(OOPSE)
197     cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(OOPSE_MPI) $(OOPSE_MPI)
198    
199     clean : dummy
200     for i in $(LIBSUBDIRS); do \
201     (cd $$i; $(RM) *.o) || exit 1; \
202     done
203     $(RM) $(OOPSE) $(OOPSE_MPI) *.o *~ Make.temp
204    
205     distclean : dummy
206     for i in $(LIBSUBDIRS); do \
207     (cd $$i; $(RM) *.o) || exit 1; \
208     done
209 gezelter 785 $(RM) $(OOPSE) $(OOPSE_MPI) *.o *~ Make.temp
210 gezelter 747
211     devclean : distclean
212    
213     Make.dep :
214     echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
215     $(CXX) $(DEPFLAGS) -MM $(CXX_SRCS) \
216     | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
217     cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
218     cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
219     $(RM) Make.temp
220    
221     tags : $(CXX_SRCS)
222     ctags $(CXX_SRCS)
223    
224     dummy :
225    
226     # DO NOT DELETE
227     include Make.dep