ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-1.0/src/Makefile.in
Revision: 1356
Committed: Mon Jul 19 21:58:37 2004 UTC (19 years, 11 months ago) by gezelter
File size: 4877 byte(s)
Log Message:
*** empty log message ***

File Contents

# Content
1 #####################################################
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_LIB_DIR=@SPRNG_LIB_DIR@
33
34 # SPRNG library
35 SPRNG_LIB=@SPRNG_LIB@
36
37 # SPRNG include path
38 SPRNG_INC_DIR=@SPRNG_INC_DIR@
39
40 # Compile MPI code?
41 USE_MPI=@USE_MPI@
42
43 # MPI include path
44 MPI_INC_DIR=@MPI_INC_DIR@
45
46 # MPI include path
47 MPI_F90_INC=@MPI_F90_INC@
48
49 # MPI library path
50 MPI_LIB_DIR=@MPI_LIB_DIR@
51
52 # MPI library
53 MPI_LIB=@MPI_LIB@
54
55 # MPI F90 library
56 MPI_F90_LIB=@MPI_F90_LIB@
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 # F90 libraries (for linking with C)
75 F90LIBS=@F90LIBS@
76
77 # ar
78 AR=@AR@
79
80 # ranlib
81 RANLIB=@RANLIB@
82
83 # rm
84 RM=rm -f
85
86 # soft link
87 LN_S=@LN_S@
88
89 # BSD install
90 INSTALL=@INSTALL@
91 INSTALL_PROGRAM=@INSTALL_PROGRAM@
92 INSTALL_DATA=@INSTALL_DATA@
93 MKINSTALLDIRS=@MKINSTALLDIRS@
94
95 # CPP flags
96 CPPFLAGS=@CPPFLAGS@
97
98 # C flags
99 CFLAGS_C=@CFLAGS@
100
101 # C++ flags
102 CXXFLAGS_C=@CXXFLAGS@
103
104 # C++ template flags
105 OOPSE_TEMPLATE_FLAGS=@OOPSE_TEMPLATE_FLAGS@
106
107 # C++ namespace flag
108 EXTRA_CC_FLAG=@EXTRA_CC_FLAG@
109
110 # Preprocessor flag for fortran
111 PREPFLAG=@PREPFLAG@
112
113 # Preprocessor define flag for fortran
114 PREPDEFFLAG=@PREPDEFFLAG@
115
116 # Fortran flags
117 FFLAGS_C=@FFLAGS@
118
119 # Fortran90 flags
120 F90FLAGS_C=@F90FLAGS@
121
122 # LDFLAGS
123 LDFLAGS=@LDFLAGS@
124
125 TOP=..
126
127 # First do compile-time flags:
128
129 MPI_DECLARES= -DIS_MPI
130
131 # include paths starting with "." are all relative to the SUBDIRS!!!
132
133 INCLUDES= -I.. -I../../libBASS -I../../libmdtools
134 MPI_INCLUDES= -I$(MPI_INC_DIR)
135 CXXFLAGS=$(CXXFLAGS_C) $(OOPSE_TEMPLATE_FLAGS) $(EXTRA_CC_FLAG) $(INCLUDES) $(DECLARES)
136 DEPFLAGS=$(CFLAGS_C) -I. -I$(SPRNG_INC_DIR) $(MPI_INCLUDES) -I../libBASS -I../libmdtools
137 MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
138
139 OOPSE=oopse$(EXE)
140 OOPSE_MPI=oopse_MPI$(EXE)
141
142 BASS_LIB=$(TOP)/libBASS/libBASS.a
143 BASS_MPI_LIB=$(TOP)/libBASS/libBASS_MPI.a
144 MD_LIB=$(TOP)/libmdtools/libmdtools.a
145 MD_MPI_LIB=$(TOP)/libmdtools/libmdtools_MPI.a
146 LIBS=$(MD_LIB) $(BASS_LIB)
147 MPI_LIBS=$(MD_MPI_LIB) $(BASS_MPI_LIB)
148
149 OOPSE_LDFLAGS= $(LIBS) $(F90LIBS) -L$(SPRNG_LIB_DIR) $(SPRNG_LIB)
150
151 OOPSE_MPI_LDFLAGS= $(MPI_LIBS) $(F90LIBS) -L$(MPI_LIB_DIR) $(MPI_F90_LIB) $(MPI_LIB) -L$(SPRNG_LIB_DIR) $(SPRNG_LIB)
152
153
154 PREFS=-DOOPSE_HOME=\"$(OOPSE_HOME)\"
155
156 obj/%.o: %.cpp
157 cd obj; $(CXX) $(CXXFLAGS) -c ../$<
158
159 MPIobj/%.o: %.cpp
160 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c ../$<
161
162 CXX_FILES = \
163 $(DIR)/oopse.cpp \
164 $(DIR)/oose.cpp
165
166 DIR:=.
167 CXX_SRCS := $(CXX_FILES)
168
169 DIR:=obj
170 CXX_OBJS := $(CXX_FILES:.cpp=.o)
171 OBJS := $(CXX_OBJS)
172
173 DIR:=MPIobj
174 CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
175 MPIOBJS := $(CXX_MPIOBJS)
176
177 LIBSUBDIRS = \
178 obj \
179 MPIobj
180
181 ifeq ($(USE_MPI),yes)
182 all : $(OOPSE) $(OOPSE_MPI)
183 else
184 all : $(OOPSE)
185 endif
186
187 depend: Make.dep
188
189 oopse$(EXE) : $(OBJS) $(BASS_LIB) $(MD_LIB)
190 $(CXX) $(CXXFLAGS) $(OBJS) -o $@ $(OOPSE_LDFLAGS)
191
192 oopse_MPI$(EXE) : $(MPIOBJS) $(BASS_MPI_LIB) $(MD_MPI_LIB)
193 $(CXX) $(CXXFLAGS) $(MPIOBJS) -o $@ $(OOPSE_MPI_LDFLAGS)
194
195 install : $(OOPSE) $(OOPSE_MPI)
196 $(MKINSTALLDIRS) $(OOPSE_HOME)/bin
197 $(INSTALL_PROGRAM) -s $(OOPSE) $(OOPSE_HOME)/bin/$(OOPSE)
198 $(INSTALL_PROGRAM) -s $(OOPSE_MPI) $(OOPSE_HOME)/bin/$(OOPSE_MPI)
199
200 tests : dummy
201
202 $(OOPSE_HOME)/bin/$(OOPSE) : $(OOPSE)
203 $(MAKE) install
204
205 $(OOPSE_HOME)/bin/$(OOPSE_MPI) : $(OOPSE_MPI)
206 $(MAKE) install
207
208 links : $(OOPSE_HOME)/bin/$(OOPSE) $(OOPSE_HOME)/bin/$(OOPSE_MPI)
209 $(MKINSTALLDIRS) $(PREFIX)/bin
210 cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(OOPSE) $(OOPSE)
211 cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(OOPSE_MPI) $(OOPSE_MPI)
212
213 clean : dummy
214 for i in $(LIBSUBDIRS); do \
215 (cd $$i; $(RM) *.o) || exit 1; \
216 done
217 $(RM) $(OOPSE) $(OOPSE_MPI) *.o *~ Make.temp
218
219 distclean : dummy
220 for i in $(LIBSUBDIRS); do \
221 (cd $$i; $(RM) *.o) || exit 1; \
222 done
223 $(RM) $(OOPSE) $(OOPSE_MPI) *.o *~ Make.temp
224
225 devclean : distclean
226
227 Make.dep :
228 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
229 $(CXX) $(DEPFLAGS) -MM $(CXX_SRCS) \
230 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
231 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
232 cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
233 $(RM) Make.temp
234
235 tags : $(CXX_SRCS)
236 ctags $(CXX_SRCS)
237
238 dummy :
239
240 # DO NOT DELETE
241 include Make.dep