ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/Makefile.in
Revision: 988
Committed: Tue Jan 27 19:37:48 2004 UTC (20 years, 5 months ago) by gezelter
File size: 4190 byte(s)
Log Message:
More BASS changes to do new rigidBody scheme

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