ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-1.0/utils/Makefile.in
Revision: 1359
Committed: Tue Jul 20 17:07:01 2004 UTC (19 years, 11 months ago) by gezelter
File size: 5371 byte(s)
Log Message:
*** empty log message ***

File Contents

# Content
1 #####################################################
2 # Makefile for Oopse Utility Codes #
3 #####################################################
4 # You should not change anything here. #
5 #####################################################
6
7 TOP=..
8
9 .SUFFIXES : .cpp .c $(O)
10
11 # Extension of object files
12 O=@OBJEXT@
13
14 # Extension of executables
15 EXE=@EXEEXT@
16
17 # Bourn shell
18 SHELL=/bin/sh
19
20 # Path prefix for installation links
21 PREFIX=@prefix@
22
23 # List of subdirectories
24 SUBDIRS=@SUBDIRS@
25
26 # Location of the oopse home
27 OOPSE_HOME=@OOPSE_HOME@
28
29 FORCE_PARAM_DIR=@OOPSE_HOME@/share/forceFields/
30 SAMPLE_SIM_DIR=@OOPSE_HOME@/share/samples/
31
32 # SPRNG library path
33 SPRNG_LIB_DIR=@SPRNG_LIB_DIR@
34
35 # SPRNG library
36 SPRNG_LIB=@SPRNG_LIB@
37
38 # SPRNG include path
39 SPRNG_INC_DIR=@SPRNG_INC_DIR@
40
41 # MPICH library path
42 MPI_LIBDIR=@MPI_LIBDIR@
43
44 # MPICH library
45 MPI_LIB=@MPI_LIB@
46
47 # MPICH include path
48 MPI_INC=@MPI_INC@
49
50 # MPI F90 Module path
51 MPI_F90_MODS=@MPI_F90_MODS@
52
53 # Compiler dependent Fortran module
54 F90LIBS = @F90LIBS@
55
56 # Location of yacc (or its substitution)
57 YACC=@YACC@
58
59 #location of lex
60 LEX=@LEX@
61
62 # C compiler
63 CC=@CC@
64
65 # C++ compiler
66
67 CXX=@CXX@
68
69 # F90 compiler
70 F90=@F90@
71
72 # ar
73 AR=@AR@
74
75 # ranlib
76 RANLIB=@RANLIB@
77
78 # rm
79 RM=rm -f
80
81 # soft link
82 LN_S=@LN_S@
83
84 # BSD install
85 INSTALL=@INSTALL@
86 INSTALL_PROGRAM=@INSTALL_PROGRAM@
87 INSTALL_DATA=@INSTALL_DATA@
88 MKINSTALLDIRS=@MKINSTALLDIRS@
89
90 # CPP flags
91 CPPFLAGS=@CPPFLAGS@
92
93 # C flags
94 CFLAGS_C=@CFLAGS@
95
96 # C++ flags
97 CXXFLAGS_C=@CXXFLAGS@
98
99 # Preprocessor flag for fortran
100 PREPFLAG=@PREPFLAG@
101
102 # Preprocessor define flag for fortran
103 PREPDEFFLAG=@PREPDEFFLAG@
104
105 # Fortran flags
106 FFLAGS_C=@FFLAGS@
107
108 # Fortran90 flags
109 F90FLAGS_C=@F90FLAGS@
110
111 # LDFLAGS
112 LDFLAGS=@LDFLAGS@
113
114 # LIBOBJS
115 LIBOBJS=@LIBOBJS@
116
117 # First do compile-time flags:
118
119 MPI_DECLARES= -DIS_MPI
120
121 # include paths starting with "." are all relative to the SUBDIRS!!!
122
123 INCLUDES= -I.. -I../../libBASS -I../../libmdtools
124 MPI_INCLUDES= $(MPI_INC)
125 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
126 CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
127 DEPFLAGS=$(CFLAGS_C) -I. -I$(SPRNG_INC_DIR) $(MPI_INCLUDES) -I../libBASS -I../libmdtools
128 MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
129
130 QUICKLATE=quickLate$(EXE)
131 DUMP2XYZ=Dump2XYZ$(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 LIBS=$(BASS_LIB) $(MD_LIB)
138 MPI_LIBS=$(BASS_MPI_LIB) $(MD_MPI_LIB)
139
140 LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB_DIR)
141 LDADD=-lmdtools -lBASS -lsprng $(F90LIBS)
142
143 SRC_DIR := $(PWD)
144
145 PREFS=-DOOPSE_HOME=\"$(OOPSE_HOME)\"
146
147 obj/%.o: %.cpp
148 cd obj; $(CXX) $(CXXFLAGS) -c ../$<
149
150 MPIobj/%.o: %.cpp
151 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c ../$<
152
153 obj/%.o: %.c
154 cd obj; $(CC) $(CFLAGS) -c ../$<
155
156 MPIobj/%.o: %.c
157 cd MPIobj; $(CC) $(MPI_CFLAGS) -c ../$<
158
159
160 # quicklate files
161
162 QUICK_C_FILES = \
163 $(DIR)/quickLate.c
164 DUMP2XYZ_C_FILES = \
165 $(DIR)/Dump2XYZCmd.c
166 DUMP2XYZ_CXX_FILES = \
167 $(DIR)/Dump2XYZ.cpp
168
169 DIR:=.
170 C_SRCS := $(QUICK_C_FILES) $(DUMP2XYZ_C_FILES)
171 CXX_SRCS := $(DUMP2XYZ_CXX_FILES)
172
173 C_CXX_SRCS := $(C_SRCS) $(CXX_SRCS)
174
175 #the objects
176
177 DIR:=obj
178 QUICK_C_OBJS := $(QUICK_C_FILES:.c=.o)
179 QUICK_OBJS := $(QUICK_C_OBJS)
180 DUMP2XYZ_C_OBJS := $(DUMP2XYZ_C_FILES:.c=.o)
181 DUMP2XYZ_CXX_OBJS := $(DUMP2XYZ_CXX_FILES:.cpp=.o)
182 DUMP2XYZ_OBJS := $(DUMP2XYZ_CXX_OBJS) $(DUMP2XYZ_C_OBJS)
183 LIB_OBJS := $(LIBOBJS:%.o= $(DIR)/%.o)
184
185 DIR:=MPIobj
186 QUICK_C_MPIOBJS := $(QUICK_C_FILES:.c=.o)
187 QUICK_MPIOBJS := $(QUICK_C_MPIOBJS)
188 DUMP2XYZ_C_MPIOBJS := $(DUMP2XYZ_C_FILES:.c=.o)
189 DUMP2XYZ_CXX_MPIOBJS := $(DUMP2XYZ_CXX_FILES:.cpp=.o)
190 DUMP2XYZ_MPIOBJS := $(DUMP2XYZ_C_MPIOBJS) $(DUMP2XYZ_CXX_MPIOBJS)
191 LIB_MPIOBJS := $(LIBOBJS:%.o= $(DIR)/%.o)
192
193 LIBSUBDIRS = \
194 obj \
195 MPIobj
196
197 all : $(QUICKLATE) $(DUMP2XYZ)
198
199 depend: Make.dep
200
201 quickLate$(EXE) : $(QUICK_OBJS) $(BASS_LIB) $(MD_LIB)
202 $(CC) $(CFLAGS) $(QUICK_OBJS) -o $@ $(LDFLAGS) $(LDADD)
203
204 Dump2XYZ$(EXE) : $(DUMP2XYZ_OBJS) $(BASS_LIB) $(MD_LIB) $(LIB_OBJS)
205 $(CXX) $(CXXFLAGS) $(DUMP2XYZ_OBJS) $(LIB_OBJS) -o $@ $(LDFLAGS) $(LDADD)
206
207 install : $(QUICKLATE) $(DUMP2XYZ)
208 $(MKINSTALLDIRS) $(OOPSE_HOME)/bin
209 $(INSTALL_PROGRAM) -s $(QUICKLATE) $(OOPSE_HOME)/bin/$(QUICKLATE)
210 $(INSTALL_PROGRAM) -s $(DUMP2XYZ) $(OOPSE_HOME)/bin/$(DUMP2XYZ)
211
212 tests : dummy
213
214 $(OOPSE_HOME)/bin/$(QUICKLATE) : $(QUICKLATE)
215 $(MAKE) install
216
217 $(OOPSE_HOME)/bin/$(DUMP2XYZ) : $(DUMP2XYZ)
218 $(MAKE) install
219
220 links : $(OOPSE_HOME)/bin/$(QUICKLATE) $(OOPSE_HOME)/bin/$(DUMP2XYZ)
221 $(MKINSTALLDIRS) $(PREFIX)/bin
222 cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(QUICKLATE) $(QUICKLATE)
223 cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(DUMP2XYZ) $(DUMP2XYZ)
224
225 clean : dummy
226 for i in $(LIBSUBDIRS); do \
227 (cd $$i; $(RM) *.o) || exit 1; \
228 done
229 $(RM) $(QUICKLATE) $(DUMP2XYZ) *.o *~ Make.temp
230
231 distclean : dummy
232 for i in $(LIBSUBDIRS); do \
233 (cd $$i; $(RM) *.o) || exit 1; \
234 done
235 $(RM) $(QUICKLATE) $(DUMP2XYZ) *.o *~ Make.temp
236
237 devclean : distclean
238
239 Make.dep :
240 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
241 $(CC) $(DEPFLAGS) -MM $(C_CXX_SRCS) \
242 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
243 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
244 cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
245 $(RM) Make.temp
246
247 tags : $(C_CXX_SRCS)
248 ctags $(C_CXX_SRCS)
249
250 dummy :
251
252 # DO NOT DELETE
253 include Make.dep