ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-1.0/libBASS/Makefile.in
Revision: 1334
Committed: Fri Jul 16 18:58:03 2004 UTC (19 years, 11 months ago) by gezelter
File size: 4312 byte(s)
Log Message:
Initial import of OOPSE-1.0 source tree

File Contents

# Content
1 #####################################################
2 # Makefile for libBASS (bundled with OOPSE) #
3 #####################################################
4 # You should not change anything here. #
5 #####################################################
6
7 .SUFFIXES : .c .cpp .l .y .hpp .h $(O)
8
9 # Extension of object files
10 O=@OBJEXT@
11
12 # Extension of executables
13 EXE=@EXEEXT@
14
15 # Bourn shell
16 SHELL=/bin/sh
17
18 # Path prefix for installation links
19 PREFIX=@prefix@
20
21 # Location of the oopse home
22 OOPSE_HOME=@OOPSE_HOME@
23
24 FORCE_PARAM_DIR=@OOPSE_HOME@/share/forceFields/
25 SAMPLE_SIM_DIR=@OOPSE_HOME@/share/samples/
26
27 # Compile MPI code?
28 USE_MPI=@USE_MPI@
29
30 # MPI include path
31 MPI_INC_DIR=@MPI_INC_DIR@
32
33 # Location of yacc (or its substitution)
34 YACC=@YACC@
35
36 #location of lex
37 LEX=@LEX@
38
39 # C compiler
40 CC=@CC@
41
42 # C++ compiler
43
44 CXX=@CXX@
45
46 # ar
47 AR=@AR@
48
49 # ranlib
50 RANLIB=@RANLIB@
51
52 # rm
53 RM=rm -f
54
55 # soft link
56 LN_S=@LN_S@
57
58 # BSD install
59 INSTALL=@INSTALL@
60 INSTALL_PROGRAM=@INSTALL_PROGRAM@
61 INSTALL_DATA=@INSTALL_DATA@
62 MKINSTALLDIRS=@MKINSTALLDIRS@
63
64 # CPP flags
65 CPPFLAGS_C=@CPPFLAGS@
66
67 # C flags
68 CFLAGS_C=@CFLAGS@
69
70 # C++ flags
71 CXXFLAGS_C=@CXXFLAGS@
72
73 # C++ template flags
74 OOPSE_TEMPLATE_FLAGS=@OOPSE_TEMPLATE_FLAGS@
75
76 # C++ namespace flags
77 EXTRA_CC_FLAG=@EXTRA_CC_FLAG@
78
79
80 #######################################################################
81
82 # First do compile-time flags:
83
84 MPI_DECLARES= -DIS_MPI
85
86 # include paths starting with "." are all relative to the SUBDIRS!!!
87
88 INCLUDES= -I..
89 MPI_INCLUDES= -I$(MPI_INC_DIR)
90
91 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
92 CXXFLAGS=$(CXXFLAGS_C) $(OOPSE_TEMPLATE_FLAGS) $(EXTRA_CC_FLAG) $(INCLUDES) $(DECLARES)
93 DEPFLAGS=$(CFLAGS_C)
94
95 MPI_CFLAGS=$(CFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
96 MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
97
98 # Then do the compile rules:
99
100 SRC_DIR := ..
101
102 obj/%.o: %.cpp
103 cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
104
105 MPIobj/%.o: %.cpp
106 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
107
108 obj/%.o: %.c
109 cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
110
111 MPIobj/%.o: %.c
112 cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
113
114 # Then list what we have to compile
115
116 C_FILES = \
117 $(DIR)/BASS_parse.c \
118 $(DIR)/interface.c \
119 $(DIR)/make_nodes.c \
120 $(DIR)/mpiBASS.c \
121 $(DIR)/parse_tree.c \
122 $(DIR)/simError.c \
123 $(DIR)/fError.c \
124 $(DIR)/BASSyacc.c \
125 $(DIR)/BASSlex.c
126
127 CXX_FILES = \
128 $(DIR)/AtomStamp.cpp \
129 $(DIR)/BASS_interface.cpp \
130 $(DIR)/BendStamp.cpp \
131 $(DIR)/BondStamp.cpp \
132 $(DIR)/Component.cpp \
133 $(DIR)/CutoffGroupStamp.cpp \
134 $(DIR)/Globals.cpp \
135 $(DIR)/LinkedAssign.cpp \
136 $(DIR)/LinkedCommand.cpp \
137 $(DIR)/MakeStamps.cpp \
138 $(DIR)/MoleculeStamp.cpp \
139 $(DIR)/RigidBodyStamp.cpp \
140 $(DIR)/TorsionStamp.cpp \
141 $(DIR)/ZconStamp.cpp
142
143 DIR:=.
144 C_SRCS := $(C_FILES)
145 CXX_SRCS := $(CXX_FILES)
146 SRCS := $(C_SRCS) $(CXX_SRCS)
147
148 DIR:=obj
149 C_OBJS := $(C_FILES:.c=.o)
150 CXX_OBJS := $(CXX_FILES:.cpp=.o)
151 OBJS := $(C_OBJS) $(CXX_OBJS)
152
153 DIR:=MPIobj
154 C_MPIOBJS := $(C_FILES:.c=.o)
155 CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
156 MPIOBJS := $(C_MPIOBJS) $(CXX_MPIOBJS)
157
158 LIBSUBDIRS = \
159 obj \
160 MPIobj
161
162 # Possible make targets:
163
164 ifeq ($(USE_MPI),yes)
165 all: libBASS.a libBASS_MPI.a
166 else
167 all: libBASS.a
168 endif
169
170
171 libBASS.a: BASSyacc.h $(OBJS)
172 $(RM) $@
173 $(AR) cr $@ $(OBJS)
174 $(RANLIB) $@
175
176 libBASS_MPI.a: BASSyacc.h $(MPIOBJS)
177 $(RM) $@
178 $(AR) cr $@ $(MPIOBJS)
179 $(RANLIB) $@
180
181 BASSyacc.h: BASSyacc.y
182 $(YACC) -d $? && mv y.tab.h $@
183
184 BASSyacc.c: BASSyacc.y
185 $(YACC) -d $? && mv y.tab.c $@
186
187 BASSlex.c: BASSlex.l
188 $(LEX) -o$@ $?
189
190 .PHONY : clean
191
192 clean : dummy
193 for i in $(LIBSUBDIRS); do \
194 (cd $$i; $(RM) *.o) || exit 1; \
195 done
196 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp
197 $(RM) BASSyacc.h BASSyacc.c BASSlex.c
198
199 distclean : dummy
200 for i in $(LIBSUBDIRS); do \
201 (cd $$i; $(RM) *.o) || exit 1; \
202 done
203 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp
204 $(RM) BASSyacc.h BASSyacc.c BASSlex.c
205
206 Make.dep : $(C_SRCS) $(CXX_SRCS) BASSyacc.h BASSyacc.c BASSlex.c
207 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
208 $(CC) $(DEPFLAGS) -MM $(C_SRCS) \
209 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
210 $(CXX) $(DEPFLAGS) -MM $(CXX_SRCS) \
211 | sed 's/\.o:/\$$(O)\ :/g' >> Make.temp
212 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
213 cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
214 $(RM) Make.temp
215
216 depend : Make.dep
217
218 install : dummy
219
220 links : dummy
221
222 tests : dummy
223
224 dummy :