ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/src/Makefile.in
Revision: 1233
Committed: Fri Jun 4 02:38:23 2004 UTC (20 years, 1 month ago) by gezelter
File size: 4855 byte(s)
Log Message:
Config changes for fortran access to SimError

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 gezelter 1233
40     # Compile MPI code?
41     USE_MPI=@USE_MPI@
42 gezelter 747
43 gezelter 1233 # MPI include path
44     MPI_INC_DIR=@MPI_INC_DIR@
45    
46     # MPI include path
47     MPI_F90_INC=@MPI_F90_INC@
48    
49 gezelter 944 # MPI library path
50 gezelter 1233 MPI_LIB_DIR=@MPI_LIB_DIR@
51 gezelter 747
52 gezelter 944 # MPI library
53 gezelter 747 MPI_LIB=@MPI_LIB@
54    
55 gezelter 944 # MPI F90 library
56 gezelter 1233 MPI_F90_LIB=@MPI_F90_LIB@
57 gezelter 944
58 gezelter 747 # 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 gezelter 785 # F90 libraries (for linking with C)
75     F90LIBS=@F90LIBS@
76    
77 gezelter 747 # 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 gezelter 840 # C++ template flags
105     OOPSE_TEMPLATE_FLAGS=@OOPSE_TEMPLATE_FLAGS@
106    
107     # C++ namespace flag
108     EXTRA_CC_FLAG=@EXTRA_CC_FLAG@
109    
110 gezelter 747 # 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 gezelter 785 # Fortran90 flags
120     F90FLAGS_C=@F90FLAGS@
121    
122 gezelter 747 # 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 gezelter 1233 MPI_INCLUDES= -I$(MPI_INC_DIR)
135 gezelter 840 CXXFLAGS=$(CXXFLAGS_C) $(OOPSE_TEMPLATE_FLAGS) $(EXTRA_CC_FLAG) $(INCLUDES) $(DECLARES)
136 gezelter 747 DEPFLAGS=$(CFLAGS_C) -I. $(SPRNG_INC) $(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 gezelter 785 LIBS=$(MD_LIB) $(BASS_LIB)
147     MPI_LIBS=$(MD_MPI_LIB) $(BASS_MPI_LIB)
148 gezelter 747
149 gezelter 834 OOPSE_LDFLAGS= $(LIBS) $(F90LIBS) -L$(SPRNG_LIBDIR) $(SPRNG_LIB)
150 gezelter 747
151 gezelter 1233 OOPSE_MPI_LDFLAGS= $(MPI_LIBS) $(F90LIBS) -L$(MPI_LIB_DIR) $(MPI_F90_LIB) $(MPI_LIB) -L$(SPRNG_LIBDIR) $(SPRNG_LIB)
152 gezelter 747
153 gezelter 839
154 gezelter 747 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 gezelter 1233 ifeq ($(USE_MPI),yes)
182 gezelter 747 all : $(OOPSE) $(OOPSE_MPI)
183 gezelter 1233 else
184     all : $(OOPSE)
185     endif
186 gezelter 747
187     depend: Make.dep
188    
189     oopse$(EXE) : $(OBJS) $(BASS_LIB) $(MD_LIB)
190 tim 1152 $(CXX) $(CFLAGS) $(OBJS) -o $@ $(OOPSE_LDFLAGS)
191 gezelter 747
192     oopse_MPI$(EXE) : $(MPIOBJS) $(BASS_MPI_LIB) $(MD_MPI_LIB)
193 tim 1152 $(CXX) $(CFLAGS) $(MPIOBJS) -o $@ $(OOPSE_MPI_LDFLAGS)
194 gezelter 747
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 gezelter 785 $(RM) $(OOPSE) $(OOPSE_MPI) *.o *~ Make.temp
224 gezelter 747
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