ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/tags/public/oopse-1.0/utils/sysbuilder/Makefile
Revision: 1448
Committed: Fri Jul 30 21:01:36 2004 UTC (20 years, 1 month ago)
File size: 7044 byte(s)
Log Message:
This commit was manufactured by cvs2svn to create tag 'public'.

File Contents

# User Rev Content
1 gezelter 1447 #####################################################
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 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_LIB_DIR=/usr/local/lib
34    
35     # SPRNG library
36     SPRNG_LIB=-lsprng
37    
38     # SPRNG include path
39     SPRNG_INC=@SPRNG_INC@
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=-O
107    
108     # LDFLAGS
109     LDFLAGS= -L/usr/local/mpich/lib -L/usr/local/lib
110    
111     # LIBOBJS
112     LIBOBJS=
113    
114     MPI_DECLARES= -DIS_MPI
115    
116     # include paths starting with "." are all relative to the SUBDIRS!!!
117    
118     INCLUDES= -I.. -I$(TOP)/../libBASS -I$(TOP)/../libmdtools -I../..
119     CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
120     CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
121     DEPFLAGS=$(CFLAGS_C) -I. -I$(SPRNG_INC_DIR) -I$(TOP)/libBASS -I$(TOP)/libmdtools -I..
122    
123    
124     SYSBUILD=sysBuild$(EXE)
125     BUILDER_LIB=libBuilder.a
126     SIMPLEBUILD = simpleBuilder$(EXE)
127     #LBILAYER=latticeBilayer$(EXE)
128     #RBILAYER=randomBilayer$(EXE)
129    
130     BASS_LIB=$(TOP)/libBASS/libBASS.a
131     MD_LIB=$(TOP)/libmdtools/libmdtools.a
132     LIBS=$(BASS_LIB) $(MD_LIB)
133    
134     #SYSBUILD_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB_DIR)
135     #SYSBUILD_LDADD=-lmdtools -lBASS $(SPRNG_LIB) $(F90LIBS)
136    
137    
138     SRC_DIR := $(PWD)
139    
140     #LBILAYER_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB_DIR) -L$(SRC_DIR)
141     #LBILAYER_LDADD=-L. -lBuilder -lmdtools -lBASS $(SPRNG_LIB) $(F90LIBS)
142    
143     #RBILAYER_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB_DIR) -L$(SRC_DIR)
144     #RBILAYER_LDADD=-L. -lBuilder -lmdtools -lBASS $(SPRNG_LIB) $(F90LIBS)
145    
146     SIMPLEBUILD_LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB_DIR) -L$(SRC_DIR)
147     SIMPLEBUILD_LDADD=-L. -lBuilder -lmdtools -lBASS $(SPRNG_LIB) $(F90LIBS)
148    
149     PREFS=-DOOPSE_HOME=\"$(OOPSE_HOME)\"
150    
151     obj/%.o: %.cpp
152     cd obj; $(CXX) $(CXXFLAGS) -c ../$<
153    
154     MPIobj/%.o: %.cpp
155     cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c ../$<
156    
157     obj/%.o: %.c
158     cd obj; $(CC) $(CFLAGS) -c ../$<
159    
160     MPIobj/%.o: %.c
161     cd MPIobj; $(CC) $(MPI_CFLAGS) -c ../$<
162    
163     # sysBuilder files
164    
165     #SYSBUILD_C_FILES = $(DIR)/cmdline.c
166     #SYSBUILD_CXX_FILES = \
167     # $(DIR)/sysBuild.cpp \
168     # $(DIR)/bilayerSys.cpp \
169     # $(DIR)/MoLocator.cpp \
170     # $(DIR)/latticeBuilder.cpp \
171     # $(DIR)/nanoBuilder.cpp
172    
173     #simpleBuilder files
174     SIMPLEBUILD_C_FILES = $(DIR)/simpleBuilderCmd.c
175     SIMPLEBUILD_CXX_FILES = \
176     $(DIR)/simpleBuilder.cpp
177    
178    
179    
180     #latticeBilayer files
181    
182     #LBILAYER_CXX_FILES = $(DIR)/latticeBilayer.cpp
183    
184     #RBILAYER_CXX_FILES = $(DIR)/randomBilayer.cpp
185    
186     # libBuilder files
187    
188     BUILDER_LIB_CXX_FILES = \
189     $(DIR)/MoLocator.cpp \
190     $(DIR)/Lattice.cpp \
191     $(DIR)/BaseLattice.cpp \
192     $(DIR)/LatticeCreator.cpp \
193     $(DIR)/LatticeFactory.cpp
194    
195    
196     # the sources
197    
198     DIR:=.
199    
200     #SYSBUILD_C_SRCS := $(SYSBUILD_C_FILES)
201     #SYSBUILD_CXX_SRCS := $(SYSBUILD_CXX_FILES)
202     #SYSBUILD_SRCS := $(SYSBUILD_C_SRCS) $(SYSBUILD_CXX_SRCS)
203    
204     #LBILAYER_CXX_SRCS := $(LBILAYER_CXX_FILES)
205     #LBILAYER_SRCS := $(LBILAYER_CXX_SRCS)
206    
207     #RBILAYER_CXX_SRCS := $(RBILAYER_CXX_FILES)
208     #RBILAYER_SRCS := $(RBILAYER_CXX_SRCS)
209    
210     BUILDER_LIB_CXX_SRCS := $(BUILDER_LIB_CXX_FILES)
211     BUILDER_LIB_SRCS := $(BUILDER_LIB_CXX_SRCS)
212    
213     SIMPLEBUILD_C_SRCS := $(SIMPLEBUILD_C_FILES)
214     SIMPLEBUILD_CXX_SRCS := $(SIMPLEBUILD_CXX_FILES)
215     SIMPLEBUILD_SRCS := $(SIMPLEBUILD_C_FILES) $(SIMPLEBUILD_C_FILES)
216    
217     C_CXX_SRCS := $(SIMPLEBUILD_SRCS) $(BUILDER_LIB_SRCS)
218    
219     C_SRCS :=
220     CXX_SRCS := $(SIMPLEBUILD_CXX_SRCS) $(BUILDER_LIB_CXX_SRCS)
221    
222     #the objects
223    
224     DIR:=obj
225    
226     #SYSBUILD_C_OBJS := $(SYSBUILD_C_FILES:.c=.o)
227     #SYSBUILD_CXX_OBJS := $(SYSBUILD_CXX_FILES:.cpp=.o)
228     #SYSBUILD_OBJS := $(SYSBUILD_C_OBJS) $(SYSBUILD_CXX_OBJS)
229    
230     #LBILAYER_CXX_OBJS := $(LBILAYER_CXX_FILES:.cpp=.o)
231     #LBILAYER_OBJS := $(LBILAYER_CXX_OBJS)
232     #LIB_OBJS := $(LIBOBJS:%.o= ../$(DIR)/%.o)
233    
234     #RBILAYER_CXX_OBJS := $(RBILAYER_CXX_FILES:.cpp=.o)
235     #RBILAYER_OBJS := $(RBILAYER_CXX_OBJS)
236    
237     BUILDER_LIB_CXX_OBJS := $(BUILDER_LIB_CXX_FILES:.cpp=.o)
238     BUILDER_LIB_OBJS := $(BUILDER_LIB_CXX_OBJS)
239    
240     SIMPLEBUILD_C_OBJS := $(SIMPLEBUILD_C_FILES:.c=.o)
241     SIMPLEBUILD_CXX_OBJS := $(SIMPLEBUILD_CXX_FILES:.cpp=.o)
242     SIMPLEBUILD_OBJS := $(SIMPLEBUILD_C_OBJS) $(SIMPLEBUILD_CXX_OBJS)
243    
244     LIBSUBDIRS = \
245     obj
246    
247     all : $(BUILDER_LIB) $(SIMPLEBUILD) $(RBILAYER)
248    
249     depend: Make.dep
250    
251     #sysBuild$(EXE) : $(SYSBUILD_OBJS) $(BASS_LIB) $(MD_LIB)
252     # $(CXX) $(CXXFLAGS) $(SYSBUILD_OBJS) -o $@ $(SYSBUILD_LDFLAGS) $(SYSBUILD_LDADD)
253    
254    
255     libBuilder.a: $(BUILDER_LIB_OBJS)
256     $(RM) $@
257     $(AR) cr $@ $(BUILDER_LIB_OBJS)
258     $(RANLIB) $@
259    
260    
261     simpleBuilder$(EXE): $(SIMPLEBUILD_OBJS) $(BUILDER_LIB) $(BASS_LIB) $(MD_LIB) $(LIB_OBJS)
262     $(CXX) $(CXXFLAGS) $(SIMPLEBUILD_OBJS) $(LIB_OBJS) -o $@ $(SIMPLEBUILD_LDFLAGS) $(SIMPLEBUILD_LDADD)
263    
264    
265     install : $(LBILAYER)
266     $(MKINSTALLDIRS) $(OOPSE_HOME)/bin
267     $(INSTALL_PROGRAM) -s $(SIMPLEBUILD) $(OOPSE_HOME)/bin/$(SIMPLEBUILD)
268    
269    
270     tests : dummy
271    
272    
273     $(OOPSE_HOME)/bin/$(LBILAYER) : $(LBILAYER)
274     $(MAKE) install
275    
276     links : $(OOPSE_HOME)/bin/$(LBILAYER)
277     $(MKINSTALLDIRS) $(PREFIX)/bin
278     cd $(PREFIX)/bin; $(LN_S) -f $(OOPSE_HOME)/bin/$(LBILAYER) $(SIMPLEBUILD)
279    
280     clean : dummy
281     for i in $(LIBSUBDIRS); do \
282     (cd $$i; $(RM) *.o) || exit 1; \
283     done
284     $(RM) $(SIMPLEBUILD) $(BUILDER_LIB) *.o *~ Make.temp
285    
286     distclean : dummy
287     for i in $(LIBSUBDIRS); do \
288     (cd $$i; $(RM) *.o) || exit 1; \
289     done
290     $(RM) $(SIMPLEBUILD) $(BUILDER_LIB) *.o *~ Make.temp
291    
292     devclean : distclean
293    
294     Make.dep :
295     echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
296     $(CC) $(DEPFLAGS) -MM $(C_SRCS) \
297     | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
298     $(CXX) $(DEPFLAGS) -MM $(CXX_SRCS) \
299     | sed 's/\.o:/\$$(O)\ :/g' >> Make.temp
300     cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
301     cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
302     $(RM) Make.temp
303    
304     tags : $(C_CXX_SRCS)
305     ctags $(C_CXX_SRCS)
306    
307     dummy :
308    
309     # DO NOT DELETE
310     include Make.dep