ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/tags/export/OOPSE-1.0/utils/Makefile
Revision: 1335
Committed: Fri Jul 16 18:58:04 2004 UTC (20 years ago)
File size: 5391 byte(s)
Log Message:
This commit was manufactured by cvs2svn to create tag 'export'.

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=.o
13
14 # Extension of executables
15 EXE=
16
17 # Bourn shell
18 SHELL=/bin/sh
19
20 # Path prefix for installation links
21 PREFIX=/usr/local
22
23 # List of subdirectories
24 SUBDIRS=libBASS libmdtools src forceFields samples utils utils/sysbuilder staticProps third-party
25
26 # Location of the oopse home
27 OOPSE_HOME=/usr/local/oopse
28
29 FORCE_PARAM_DIR=/usr/local/oopse/share/forceFields/
30 SAMPLE_SIM_DIR=/usr/local/oopse/share/samples/
31
32 # SPRNG library path
33 SPRNG_LIBDIR=/usr/local/lib
34
35 # SPRNG library
36 SPRNG_LIB=-lsprng
37
38 # SPRNG include path
39 SPRNG_INC=-I/usr/local/include/sprng
40
41 # MPICH library path
42 MPI_LIBDIR=@MPI_LIBDIR@
43
44 # MPICH library
45 MPI_LIB=-lmpich
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 = -L/usr/local/intel/compiler80/lib -L/usr/lib -lifport -lifcoremt -limf -lm -lcxa -lunwind -lpthread -lirc
55
56 # Location of yacc (or its substitution)
57 YACC=bison -y
58
59 #location of lex
60 LEX=flex
61
62 # C compiler
63 CC=icc
64
65 # C++ compiler
66
67 CXX=icpc
68
69 # F90 compiler
70 F90=ifort
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=/usr/bin/install -c
86 INSTALL_PROGRAM=${INSTALL}
87 INSTALL_DATA=${INSTALL} -m 644
88 MKINSTALLDIRS=/home/maul/gezelter/gezelter/OOPSE-1.0/ac-tools/shtool mkdir -p -f
89
90 # CPP flags
91 CPPFLAGS=
92
93 # C flags
94 CFLAGS_C=-O
95
96 # C++ flags
97 CXXFLAGS_C=-O
98
99 # Preprocessor flag for fortran
100 PREPFLAG=-fpp1
101
102 # Preprocessor define flag for fortran
103 PREPDEFFLAG=
104
105 # Fortran flags
106 FFLAGS_C=
107
108 # Fortran90 flags
109 F90FLAGS_C=-O
110
111 # LDFLAGS
112 LDFLAGS= -L/usr/local/mpich/lib
113
114 # First do compile-time flags:
115
116 MPI_DECLARES= -DIS_MPI
117
118 # include paths starting with "." are all relative to the SUBDIRS!!!
119
120 INCLUDES= -I.. -I../../libBASS -I../../libmdtools
121 MPI_INCLUDES= $(MPI_INC)
122 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
123 CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
124 DEPFLAGS=$(CFLAGS_C) -I. $(SPRNG_INC) $(MPI_INCLUDES) -I../libBASS -I../libmdtools
125 MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
126
127 QUICKLATE=quickLate$(EXE)
128 DUMP2XYZ=Dump2XYZ$(EXE)
129
130 BASS_LIB=$(TOP)/libBASS/libBASS.a
131 BASS_MPI_LIB=$(TOP)/libBASS/libBASS_MPI.a
132 MD_LIB=$(TOP)/libmdtools/libmdtools.a
133 MD_MPI_LIB=$(TOP)/libmdtools/libmdtools_MPI.a
134 LIBS=$(BASS_LIB) $(MD_LIB)
135 MPI_LIBS=$(BASS_MPI_LIB) $(MD_MPI_LIB)
136
137 LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIBDIR)
138 LDADD=-lmdtools -lBASS -lsprng $(F90LIBS)
139
140 SRC_DIR := $(PWD)
141
142 PREFS=-DOOPSE_HOME=\"$(OOPSE_HOME)\"
143
144 obj/%.o: %.cpp
145 cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
146
147 MPIobj/%.o: %.cpp
148 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
149
150 obj/%.o: %.c
151 cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
152
153 MPIobj/%.o: %.c
154 cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
155
156
157 # quicklate files
158
159 QUICK_C_FILES = \
160 $(DIR)/quickLate.c
161 DUMP2XYZ_C_FILES = \
162 $(DIR)/Dump2XYZCmd.c
163 DUMP2XYZ_CXX_FILES = \
164 $(DIR)/Dump2XYZ.cpp
165
166 DIR:=.
167 C_SRCS := $(QUICK_C_FILES) $(DUMP2XYZ_C_FILES)
168 CXX_SRCS := $(DUMP2XYZ_CXX_FILES)
169
170 C_CXX_SRCS := $(C_SRCS) $(CXX_SRCS)
171
172 #the objects
173
174 DIR:=obj
175 QUICK_C_OBJS := $(QUICK_C_FILES:.c=.o)
176 QUICK_OBJS := $(QUICK_C_OBJS)
177 DUMP2XYZ_C_OBJS :=$(DUMP2XYZ_C_FILES:.c=.o)
178 DUMP2XYZ_CXX_OBJS :=$(DUMP2XYZ_CXX_FILES:.cpp=.o)
179 DUMP2XYZ_OBJS := $(DUMP2XYZ_CXX_OBJS) $(DUMP2XYZ_C_OBJS)
180
181 DIR:=MPIobj
182 QUICK_C_MPIOBJS := $(QUICK_C_FILES:.c=.o)
183 QUICK_MPIOBJS := $(QUICK_C_MPIOBJS)
184 DUMP2XYZ_C_MPIOBJS := $(DUMP2XYZ_C_FILES:.c=.o)
185 DUMP2XYZ_CXX_MPIOBJS := $(DUMP2XYZ_CXX_FILES:.cpp=.o)
186 DUMP2XYZ_MPIOBJS := $(DUMP2XYZ_C_MPIOBJS) $(DUMP2XYZ_CXX_MPIOBJS)
187
188 LIBSUBDIRS = \
189 obj \
190 MPIobj
191
192 all : $(QUICKLATE) $(DUMP2XYZ)
193
194 depend: Make.dep
195
196 quickLate$(EXE) : $(QUICK_OBJS) $(BASS_LIB) $(MD_LIB)
197 $(CC) $(CFLAGS) $(QUICK_OBJS) -o $@ $(LDFLAGS) $(LDADD)
198
199 Dump2XYZ$(EXE) : $(DUMP2XYZ_OBJS) $(BASS_LIB) $(MD_LIB)
200 $(CXX) $(CXXFLAGS) $(DUMP2XYZ_OBJS) -o $@ $(LDFLAGS) $(LDADD)
201
202 install : $(QUICKLATE) $(DUMP2XYZ)
203 $(MKINSTALLDIRS) $(OOPSE_HOME)/bin
204 $(INSTALL_PROGRAM) -s $(QUICKLATE) $(OOPSE_HOME)/bin/$(QUICKLATE)
205 $(INSTALL_PROGRAM) -s $(DUMP2XYZ) $(OOPSE_HOME)/bin/$(DUMP2XYZ)
206
207 tests : dummy
208
209 $(OOPSE_HOME)/bin/$(QUICKLATE) : $(QUICKLATE)
210 $(MAKE) install
211
212 $(OOPSE_HOME)/bin/$(DUMP2XYZ) : $(DUMP2XYZ)
213 $(MAKE) install
214
215 links : $(OOPSE_HOME)/bin/$(QUICKLATE) $(OOPSE_HOME)/bin/$(DUMP2XYZ)
216 $(MKINSTALLDIRS) $(PREFIX)/bin
217 cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(QUICKLATE) $(QUICKLATE)
218 cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(DUMP2XYZ) $(DUMP2XYZ)
219
220 clean : dummy
221 for i in $(LIBSUBDIRS); do \
222 (cd $$i; $(RM) *.o) || exit 1; \
223 done
224 $(RM) $(QUICKLATE) $(DUMP2XYZ) *.o *~ Make.temp
225
226 distclean : dummy
227 for i in $(LIBSUBDIRS); do \
228 (cd $$i; $(RM) *.o) || exit 1; \
229 done
230 $(RM) $(QUICKLATE) $(DUMP2XYZ) *.o *~ Make.temp
231
232 devclean : distclean
233
234 Make.dep :
235 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
236 $(CC) $(DEPFLAGS) -MM $(C_CXX_SRCS) \
237 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
238 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
239 cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
240 $(RM) Make.temp
241
242 tags : $(C_CXX_SRCS)
243 ctags $(C_CXX_SRCS)
244
245 dummy :
246
247 # DO NOT DELETE
248 include Make.dep