ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/Makefile.in
Revision: 840
Committed: Wed Oct 29 14:29:12 2003 UTC (21 years, 9 months ago) by gezelter
File size: 4040 byte(s)
Log Message:
C++ compatibility for templates

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 CMAKE_TEMPLATE_FLAGS=@CMAKE_TEMPLATE_FLAGS@
72
73 #######################################################################
74
75 # First do compile-time flags:
76
77 MPI_DECLARES= -DIS_MPI
78
79 # include paths starting with "." are all relative to the SUBDIRS!!!
80
81 INCLUDES= -I..
82 MPI_INCLUDES= -I$(MPI_INC)
83
84 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
85 CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
86 DEPFLAGS=$(CFLAGS_C)
87
88 MPI_CFLAGS=$(CFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
89 MPI_CXXFLAGS=$(CXXFLAGS) $(MPI_INCLUDES) $(MPI_DECLARES)
90
91 # Then do the compile rules:
92
93 SRC_DIR := ..
94
95 obj/%.o: %.cpp
96 cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
97
98 MPIobj/%.o: %.cpp
99 cd MPIobj; $(CXX) $(MPI_CXXFLAGS) -c $(SRC_DIR)/$<
100
101 obj/%.o: %.c
102 cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
103
104 MPIobj/%.o: %.c
105 cd MPIobj; $(CC) $(MPI_CFLAGS) -c $(SRC_DIR)/$<
106
107 # Then list what we have to compile
108
109 C_FILES = \
110 $(DIR)/BASS_parse.c \
111 $(DIR)/interface.c \
112 $(DIR)/make_nodes.c \
113 $(DIR)/mpiBASS.c \
114 $(DIR)/parse_tree.c \
115 $(DIR)/simError.c \
116 $(DIR)/BASSyacc.c \
117 $(DIR)/BASSlex.c
118
119 CXX_FILES = \
120 $(DIR)/AtomStamp.cpp \
121 $(DIR)/BASS_interface.cpp \
122 $(DIR)/BendStamp.cpp \
123 $(DIR)/BondStamp.cpp \
124 $(DIR)/Component.cpp \
125 $(DIR)/Globals.cpp \
126 $(DIR)/LinkedAssign.cpp \
127 $(DIR)/LinkedCommand.cpp \
128 $(DIR)/MakeStamps.cpp \
129 $(DIR)/MoleculeStamp.cpp \
130 $(DIR)/TorsionStamp.cpp \
131 $(DIR)/ZconStamp.cpp
132
133 DIR:=.
134 C_SRCS := $(C_FILES)
135 CXX_SRCS := $(CXX_FILES)
136 SRCS := $(C_SRCS) $(CXX_SRCS)
137
138 DIR:=obj
139 C_OBJS := $(C_FILES:.c=.o)
140 CXX_OBJS := $(CXX_FILES:.cpp=.o)
141 OBJS := $(C_OBJS) $(CXX_OBJS)
142
143 DIR:=MPIobj
144 C_MPIOBJS := $(C_FILES:.c=.o)
145 CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
146 MPIOBJS := $(C_MPIOBJS) $(CXX_MPIOBJS)
147
148 LIBSUBDIRS = \
149 obj \
150 MPIobj
151
152 # Possible make targets:
153
154 all: libBASS.a libBASS_MPI.a
155
156 libBASS.a: BASSyacc.h $(OBJS)
157 $(RM) $@
158 $(AR) cr $@ $(OBJS)
159 $(RANLIB) $@
160
161 libBASS_MPI.a: BASSyacc.h $(MPIOBJS)
162 $(RM) $@
163 $(AR) cr $@ $(MPIOBJS)
164 $(RANLIB) $@
165
166 BASSyacc.h: BASSyacc.y
167 $(YACC) -d $? && mv y.tab.h $@
168
169 BASSyacc.c: BASSyacc.y
170 $(YACC) -d $? && mv y.tab.c $@
171
172 BASSlex.c: BASSlex.l
173 $(LEX) -o$@ $?
174
175 .PHONY : clean
176
177 clean : dummy
178 for i in $(LIBSUBDIRS); do \
179 (cd $$i; $(RM) *.o) || exit 1; \
180 done
181 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp
182 $(RM) BASSyacc.h BASSyacc.c BASSlex.c
183
184 distclean : dummy
185 for i in $(LIBSUBDIRS); do \
186 (cd $$i; $(RM) *.o) || exit 1; \
187 done
188 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp
189 $(RM) BASSyacc.h BASSyacc.c BASSlex.c
190
191 Make.dep : $(C_SRCS) $(CXX_SRCS) BASSyacc.h BASSyacc.c BASSlex.c
192 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
193 $(CC) $(DEPFLAGS) -MM $(C_SRCS) \
194 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
195 $(CXX) $(DEPFLAGS) -MM $(CXX_SRCS) \
196 | sed 's/\.o:/\$$(O)\ :/g' >> Make.temp
197 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
198 cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
199 $(RM) Make.temp
200
201 depend : Make.dep
202
203 install : dummy
204
205 links : dummy
206
207 tests : dummy
208
209 dummy :