ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/SHAPES/Makefile
Revision: 1360
Committed: Tue Jul 20 20:02:15 2004 UTC (19 years, 11 months ago) by gezelter
File size: 5889 byte(s)
Log Message:
Changes for CGI and for gengetopts --unamed-opt="PDBFILE"

File Contents

# Content
1 #####################################################
2 # Makefile for SHAPES #
3 #####################################################
4 # You should not change anything here. #
5 #####################################################
6
7 # No make rules by default
8 .SUFFIXES : .c .cpp .hpp .h $(O)
9
10 # Extension of object files
11 O=.o
12
13 # Extension of executables
14 EXE=
15
16 # Bourn shell
17 SHELL=/bin/sh
18
19 # Path prefix for installation links
20 PREFIX=/usr/local
21
22 # Location of the shapes home
23 SHAPES_HOME=/usr/local/shapes
24 VDW_PARAM_DIR=/usr/local/shapes/share/vdwFiles
25
26 # C compiler
27 CC=icc
28
29 # C++ compiler
30 CXX=icpc
31
32 # ar
33 AR=ar
34
35 # ranlib
36 RANLIB=ranlib
37
38 # rm
39 RM=rm -f
40
41 # soft link
42 LN_S=ln -s
43
44 # BSD install
45 INSTALL=@INSTALL@
46 INSTALL_PROGRAM=@INSTALL_PROGRAM@
47 INSTALL_DATA=@INSTALL_DATA@
48 MKINSTALLDIRS=@MKINSTALLDIRS@
49
50 # fftw library and include files
51 FFTWINC = -I/usr/local/include
52 FFTWLIB = -Wl,-R/usr/local/lib -L/usr/local/lib/ -lfftw3
53
54 # cgicc library and include files
55 CGICCINC = -I/usr/local/include
56 CGICCLIB = -Wl,-R/usr/local/lib -L/usr/local/lib/ -lcgicc
57
58 # CPP flags
59 CPPFLAGS=
60
61 # C flags
62 CFLAGS_C= -O3
63
64 # C++ flags
65 CXXFLAGS_C= -O3
66
67 # LDFLAGS
68 LDFLAGS=
69
70 # First do compile-time flags:
71
72 DECLARE=-DVDW_PATH="$(VDW_PARAM_DIR)"
73
74 # include paths starting with "." are all relative to the SUBDIRS!!!
75
76 INCLUDES= -I.. $(FFTWINC)
77
78 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARE)
79 CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARE)
80 DEPFLAGS=$(CFLAGS_C) $(INCLUDES) -I.
81
82 SRC_DIR := ..
83
84 SHAPER=shaper$(EXE)
85 VISUALIZER=visualizer$(EXE)
86 LDADD=
87
88 # Then do the compile rules:
89
90 obj/%.o: %.cpp
91 cd obj; $(CXX) $(CXXFLAGS) -c $(SRC_DIR)/$<
92
93 obj/%.o: %.c
94 cd obj; $(CC) $(CFLAGS) -c $(SRC_DIR)/$<
95
96 # Then list what we have to compile
97 #
98 SHAPER_C_FILES = \
99 $(DIR)/shaperCmd.c \
100 $(DIR)/MatVec3.c \
101 $(DIR)/cospmls.c \
102 $(DIR)/makeweights.c \
103 $(DIR)/naive_synthesis.c \
104 $(DIR)/pmls.c \
105 $(DIR)/primitive.c \
106 $(DIR)/seminaive.c \
107 $(DIR)/FST_semi_memo.c
108
109 SHAPERCGI_C_FILES = \
110 $(DIR)/MatVec3.c \
111 $(DIR)/cospmls.c \
112 $(DIR)/makeweights.c \
113 $(DIR)/naive_synthesis.c \
114 $(DIR)/pmls.c \
115 $(DIR)/primitive.c \
116 $(DIR)/seminaive.c \
117 $(DIR)/FST_semi_memo.c
118
119 VISUALIZER_C_FILES = \
120 $(DIR)/visualizerCmd.c
121
122 SHAPER_CXX_FILES = \
123 $(DIR)/shaper.cpp \
124 $(DIR)/PDBReader.cpp \
125 $(DIR)/RigidBody.cpp \
126 $(DIR)/VDWAtom.cpp \
127 $(DIR)/GridBuilder.cpp \
128 $(DIR)/SphereHarm.cpp
129
130 SHAPERCGI_CXX_FILES = \
131 $(DIR)/shaperCGI.cpp \
132 $(DIR)/PDBReader.cpp \
133 $(DIR)/RigidBody.cpp \
134 $(DIR)/VDWAtom.cpp \
135 $(DIR)/GridBuilder.cpp \
136 $(DIR)/SphereHarm.cpp
137
138 VISUALIZER_CXX_FILES = \
139 $(DIR)/SHFunc.cpp \
140 $(DIR)/SHAPE.cpp \
141 $(DIR)/visualizer.cpp
142
143 VDW_FILES= \
144 amber99.vdw \
145 charmm27.vdw \
146 gaff.vdw \
147 LJ.vdw \
148 oplsaal.vdw
149
150 DIR:=.
151 SHAPER_C_SRCS := $(SHAPER_C_FILES)
152 SHAPER_CXX_SRCS := $(SHAPER_CXX_FILES)
153 SHAPER_SRCS := $(SHAPER_C_SRCS) $(SHAPER_CXX_SRCS)
154 SHAPERCGI_C_SRCS := $(SHAPERCGI_C_FILES)
155 SHAPERCGI_CXX_SRCS := $(SHAPERCGI_CXX_FILES)
156 SHAPERCGI_SRCS := $(SHAPERCGI_C_SRCS) $(SHAPERCGI_CXX_SRCS)
157 VISUALIZER_C_SRCS := $(VISUALIZER_C_FILES)
158 VISUALIZER_CXX_SRCS := $(VISUALIZER_CXX_FILES)
159 VISUALIZER_SRCS := $(VISUALIZER_C_SRCS) $(VISUALIZER_CXX_SRCS)
160
161 DIR:=obj
162 SHAPER_C_OBJS := $(SHAPER_C_FILES:.c=.o)
163 SHAPER_CXX_OBJS := $(SHAPER_CXX_FILES:.cpp=.o)
164 SHAPER_OBJS := $(SHAPER_C_OBJS) $(SHAPER_CXX_OBJS)
165 SHAPERCGI_C_OBJS := $(SHAPERCGI_C_FILES:.c=.o)
166 SHAPERCGI_CXX_OBJS := $(SHAPERCGI_CXX_FILES:.cpp=.o)
167 SHAPERCGI_OBJS := $(SHAPERCGI_C_OBJS) $(SHAPERCGI_CXX_OBJS)
168 VISUALIZER_C_OBJS := $(VISUALIZER_C_FILES:.c=.o)
169 VISUALIZER_CXX_OBJS := $(VISUALIZER_CXX_FILES:.cpp=.o)
170 VISUALIZER_OBJS := $(VISUALIZER_C_OBJS) $(VISUALIZER_CXX_OBJS)
171
172 SUBDIRS = obj
173
174 # Possible make targets:
175
176 all: shaper visualizer shaperCGI
177
178 shaper$(EXE) : $(SHAPER_OBJS)
179 $(CXX) $(CFLAGS) $(SHAPER_OBJS) -o $@ $(LDFLAGS) $(LDADD) $(FFTWLIB)
180
181 shaperCGI$(EXE) : $(SHAPERCGI_OBJS)
182 $(CXX) $(CFLAGS) $(SHAPERCGI_OBJS) -o $@ $(LDFLAGS) $(LDADD) $(FFTWLIB) $(CGICCLIB)
183
184 visualizer$(EXE) : $(VISUALIZER_OBJS)
185 $(CXX) $(CFLAGS) $(VISUALIZER_OBJS) -o $@ $(LDFLAGS) $(LDADD)
186
187 install : $(SHAPER) $(VISUALIZER) $(SHAPERCGI)
188 $(MKINSTALLDIRS) $(SHAPES_HOME)/bin
189 $(INSTALL_PROGRAM) -s $(SHAPER) $(SHAPES_HOME)/bin/$(SHAPER)
190 $(INSTALL_PROGRAM) -s $(SHAPERCGI) $(SHAPES_HOME)/bin/$(SHAPERCGI)
191 $(INSTALL_PROGRAM) -s $(VISUALIZER) $(SHAPES_HOME)/bin/$(VISUALIZER)
192 $(MKINSTALLDIRS) $(VDW_PARAM_DIR)
193 for i in $(VDW_FILES); do \
194 echo "Installing $$i in $(VDW_PARAM_DIR)\n"; \
195 $(INSTALL_DATA) $$i $(VDW_PARAM_DIR)/$$i; \
196 done
197
198
199 .PHONY : clean
200
201 clean : dummy
202 for i in $(SUBDIRS); do \
203 (cd $$i; $(RM) *.o *.mod) || exit 1; \
204 done
205 $(RM) shaper visualizer *.o *.mod *~ Make.temp
206
207 distclean : dummy
208 for i in $(SUBDIRS); do \
209 (cd $$i; $(RM) *.o *.mod) || exit 1; \
210 done
211 $(RM) shaper visualizer *.o *.mod *~ Make.temp
212
213 depend : Make.dep
214
215 Make.dep :
216 echo "Only C dependencies are made automagically!"
217 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
218 $(CC) $(DEPFLAGS) -MM $(SHAPER_C_SRCS) $(VISUALIZER_C_SRCS) $(SHAPERCGI_C_SRCS) \
219 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
220 $(CXX) $(DEPFLAGS) -MM $(SHAPER_CXX_SRCS) $(VISUALIZER_CXX_SRCS) $(SHAPERCGI_CXX_SRCS) \
221 | sed 's/\.o:/\$$(O)\ :/g' >> Make.temp
222 cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
223 $(RM) Make.temp
224
225 install : dummy
226
227 links : dummy
228
229 tests : dummy
230
231 dummy :
232
233 include Make.dep