ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-1.0/utils/Makefile.in
Revision: 1356
Committed: Mon Jul 19 21:58:37 2004 UTC (19 years, 11 months ago) by gezelter
File size: 5284 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 # Other libraries? (liberty)
57 OTHERLIBS=@OTHERLIBS@
58
59 # Location of yacc (or its substitution)
60 YACC=@YACC@
61
62 #location of lex
63 LEX=@LEX@
64
65 # C compiler
66 CC=@CC@
67
68 # C++ compiler
69
70 CXX=@CXX@
71
72 # F90 compiler
73 F90=@F90@
74
75 # ar
76 AR=@AR@
77
78 # ranlib
79 RANLIB=@RANLIB@
80
81 # rm
82 RM=rm -f
83
84 # soft link
85 LN_S=@LN_S@
86
87 # BSD install
88 INSTALL=@INSTALL@
89 INSTALL_PROGRAM=@INSTALL_PROGRAM@
90 INSTALL_DATA=@INSTALL_DATA@
91 MKINSTALLDIRS=@MKINSTALLDIRS@
92
93 # CPP flags
94 CPPFLAGS=@CPPFLAGS@
95
96 # C flags
97 CFLAGS_C=@CFLAGS@
98
99 # C++ flags
100 CXXFLAGS_C=@CXXFLAGS@
101
102 # Preprocessor flag for fortran
103 PREPFLAG=@PREPFLAG@
104
105 # Preprocessor define flag for fortran
106 PREPDEFFLAG=@PREPDEFFLAG@
107
108 # Fortran flags
109 FFLAGS_C=@FFLAGS@
110
111 # Fortran90 flags
112 F90FLAGS_C=@F90FLAGS@
113
114 # LDFLAGS
115 LDFLAGS=@LDFLAGS@
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 -I../../third-party
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 -I../../third-party
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
184 DIR:=MPIobj
185 QUICK_C_MPIOBJS := $(QUICK_C_FILES:.c=.o)
186 QUICK_MPIOBJS := $(QUICK_C_MPIOBJS)
187 DUMP2XYZ_C_MPIOBJS := $(DUMP2XYZ_C_FILES:.c=.o)
188 DUMP2XYZ_CXX_MPIOBJS := $(DUMP2XYZ_CXX_FILES:.cpp=.o)
189 DUMP2XYZ_MPIOBJS := $(DUMP2XYZ_C_MPIOBJS) $(DUMP2XYZ_CXX_MPIOBJS)
190
191 LIBSUBDIRS = \
192 obj \
193 MPIobj
194
195 all : $(QUICKLATE) $(DUMP2XYZ)
196
197 depend: Make.dep
198
199 quickLate$(EXE) : $(QUICK_OBJS) $(BASS_LIB) $(MD_LIB)
200 $(CC) $(CFLAGS) $(QUICK_OBJS) -o $@ $(LDFLAGS) $(LDADD)
201
202 Dump2XYZ$(EXE) : $(DUMP2XYZ_OBJS) $(BASS_LIB) $(MD_LIB)
203 $(CXX) $(CXXFLAGS) $(DUMP2XYZ_OBJS) $(OTHERLIBS) -o $@ $(LDFLAGS) $(LDADD)
204
205 install : $(QUICKLATE) $(DUMP2XYZ)
206 $(MKINSTALLDIRS) $(OOPSE_HOME)/bin
207 $(INSTALL_PROGRAM) -s $(QUICKLATE) $(OOPSE_HOME)/bin/$(QUICKLATE)
208 $(INSTALL_PROGRAM) -s $(DUMP2XYZ) $(OOPSE_HOME)/bin/$(DUMP2XYZ)
209
210 tests : dummy
211
212 $(OOPSE_HOME)/bin/$(QUICKLATE) : $(QUICKLATE)
213 $(MAKE) install
214
215 $(OOPSE_HOME)/bin/$(DUMP2XYZ) : $(DUMP2XYZ)
216 $(MAKE) install
217
218 links : $(OOPSE_HOME)/bin/$(QUICKLATE) $(OOPSE_HOME)/bin/$(DUMP2XYZ)
219 $(MKINSTALLDIRS) $(PREFIX)/bin
220 cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(QUICKLATE) $(QUICKLATE)
221 cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(DUMP2XYZ) $(DUMP2XYZ)
222
223 clean : dummy
224 for i in $(LIBSUBDIRS); do \
225 (cd $$i; $(RM) *.o) || exit 1; \
226 done
227 $(RM) $(QUICKLATE) $(DUMP2XYZ) *.o *~ Make.temp
228
229 distclean : dummy
230 for i in $(LIBSUBDIRS); do \
231 (cd $$i; $(RM) *.o) || exit 1; \
232 done
233 $(RM) $(QUICKLATE) $(DUMP2XYZ) *.o *~ Make.temp
234
235 devclean : distclean
236
237 Make.dep :
238 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
239 $(CC) $(DEPFLAGS) -MM $(C_CXX_SRCS) \
240 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
241 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
242 cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
243 $(RM) Make.temp
244
245 tags : $(C_CXX_SRCS)
246 ctags $(C_CXX_SRCS)
247
248 dummy :
249
250 # DO NOT DELETE
251 include Make.dep