ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/Makefile.in
Revision: 846
Committed: Fri Oct 31 18:28:27 2003 UTC (20 years, 8 months ago) by mmeineke
File size: 4135 byte(s)
Log Message:
added template stuff to the Maikefile template

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)/TorsionStamp.cpp \
135 $(DIR)/ZconStamp.cpp
136
137 DIR:=.
138 C_SRCS := $(C_FILES)
139 CXX_SRCS := $(CXX_FILES)
140 SRCS := $(C_SRCS) $(CXX_SRCS)
141
142 DIR:=obj
143 C_OBJS := $(C_FILES:.c=.o)
144 CXX_OBJS := $(CXX_FILES:.cpp=.o)
145 OBJS := $(C_OBJS) $(CXX_OBJS)
146
147 DIR:=MPIobj
148 C_MPIOBJS := $(C_FILES:.c=.o)
149 CXX_MPIOBJS := $(CXX_FILES:.cpp=.o)
150 MPIOBJS := $(C_MPIOBJS) $(CXX_MPIOBJS)
151
152 LIBSUBDIRS = \
153 obj \
154 MPIobj
155
156 # Possible make targets:
157
158 all: libBASS.a libBASS_MPI.a
159
160 libBASS.a: BASSyacc.h $(OBJS)
161 $(RM) $@
162 $(AR) cr $@ $(OBJS)
163 $(RANLIB) $@
164
165 libBASS_MPI.a: BASSyacc.h $(MPIOBJS)
166 $(RM) $@
167 $(AR) cr $@ $(MPIOBJS)
168 $(RANLIB) $@
169
170 BASSyacc.h: BASSyacc.y
171 $(YACC) -d $? && mv y.tab.h $@
172
173 BASSyacc.c: BASSyacc.y
174 $(YACC) -d $? && mv y.tab.c $@
175
176 BASSlex.c: BASSlex.l
177 $(LEX) -o$@ $?
178
179 .PHONY : clean
180
181 clean : dummy
182 for i in $(LIBSUBDIRS); do \
183 (cd $$i; $(RM) *.o) || exit 1; \
184 done
185 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp
186 $(RM) BASSyacc.h BASSyacc.c BASSlex.c
187
188 distclean : dummy
189 for i in $(LIBSUBDIRS); do \
190 (cd $$i; $(RM) *.o) || exit 1; \
191 done
192 $(RM) libBASS.a libBASS_MPI.a *.o *~ Make.temp
193 $(RM) BASSyacc.h BASSyacc.c BASSlex.c
194
195 Make.dep : $(C_SRCS) $(CXX_SRCS) BASSyacc.h BASSyacc.c BASSlex.c
196 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
197 $(CC) $(DEPFLAGS) -MM $(C_SRCS) \
198 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
199 $(CXX) $(DEPFLAGS) -MM $(CXX_SRCS) \
200 | sed 's/\.o:/\$$(O)\ :/g' >> Make.temp
201 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
202 cat Make.temp | sed 's/^[a-zA-Z0-9]/MPIobj\/&/g' >> Make.dep
203 $(RM) Make.temp
204
205 depend : Make.dep
206
207 install : dummy
208
209 links : dummy
210
211 tests : dummy
212
213 dummy :