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

# User Rev Content
1 gezelter 1334 #####################################################
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 gezelter 1356 SPRNG_LIB_DIR=@SPRNG_LIB_DIR@
34 gezelter 1334
35     # SPRNG library
36     SPRNG_LIB=@SPRNG_LIB@
37    
38     # SPRNG include path
39 gezelter 1356 SPRNG_INC_DIR=@SPRNG_INC_DIR@
40 gezelter 1334
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 gezelter 1356 # Other libraries? (liberty)
57     OTHERLIBS=@OTHERLIBS@
58    
59 gezelter 1334 # 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 gezelter 1347 INCLUDES= -I.. -I../../libBASS -I../../libmdtools -I../../third-party
124 gezelter 1334 MPI_INCLUDES= $(MPI_INC)
125     CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
126     CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
127 gezelter 1356 DEPFLAGS=$(CFLAGS_C) -I. -I$(SPRNG_INC_DIR) $(MPI_INCLUDES) -I../libBASS -I../libmdtools -I../../third-party
128 gezelter 1334 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 gezelter 1356 LDFLAGS=-L$(TOP)/libBASS -L$(TOP)/libmdtools -L$(SPRNG_LIB_DIR)
141 gezelter 1334 LDADD=-lmdtools -lBASS -lsprng $(F90LIBS)
142    
143     SRC_DIR := $(PWD)
144    
145     PREFS=-DOOPSE_HOME=\"$(OOPSE_HOME)\"
146    
147     obj/%.o: %.cpp
148 gezelter 1356 cd obj; $(CXX) $(CXXFLAGS) -c ../$<
149 gezelter 1334
150     MPIobj/%.o: %.cpp
151 gezelter 1356 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c ../$<
152 gezelter 1334
153     obj/%.o: %.c
154 gezelter 1356 cd obj; $(CC) $(CFLAGS) -c ../$<
155 gezelter 1334
156     MPIobj/%.o: %.c
157 gezelter 1356 cd MPIobj; $(CC) $(MPI_CFLAGS) -c ../$<
158 gezelter 1334
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 gezelter 1356 $(CXX) $(CXXFLAGS) $(DUMP2XYZ_OBJS) $(OTHERLIBS) -o $@ $(LDFLAGS) $(LDADD)
204 gezelter 1334
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