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

# User Rev Content
1 gezelter 1240 #####################################################
2 gezelter 1271 # Makefile for SHAPES #
3 gezelter 1240 #####################################################
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 chrisfen 1287 # Location of the shapes home
23 gezelter 1271 SHAPES_HOME=/usr/local/shapes
24     VDW_PARAM_DIR=/usr/local/shapes/share/vdwFiles
25 gezelter 1240
26     # C compiler
27 gezelter 1295 CC=icc
28 gezelter 1240
29     # C++ compiler
30 gezelter 1295 CXX=icpc
31 gezelter 1240
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 gezelter 1271 INSTALL=@INSTALL@
46     INSTALL_PROGRAM=@INSTALL_PROGRAM@
47     INSTALL_DATA=@INSTALL_DATA@
48     MKINSTALLDIRS=@MKINSTALLDIRS@
49 gezelter 1240
50 chrisfen 1287 # fftw library and include files
51     FFTWINC = -I/usr/local/include
52 gezelter 1360 FFTWLIB = -Wl,-R/usr/local/lib -L/usr/local/lib/ -lfftw3
53 chrisfen 1287
54 gezelter 1360 # 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 gezelter 1240 # CPP flags
59     CPPFLAGS=
60    
61     # C flags
62 gezelter 1300 CFLAGS_C= -O3
63 gezelter 1240
64     # C++ flags
65 chrisfen 1287 CXXFLAGS_C= -O3
66 gezelter 1240
67     # LDFLAGS
68 gezelter 1271 LDFLAGS=
69 gezelter 1240
70     # First do compile-time flags:
71    
72 gezelter 1271 DECLARE=-DVDW_PATH="$(VDW_PARAM_DIR)"
73 gezelter 1240
74     # include paths starting with "." are all relative to the SUBDIRS!!!
75    
76 chrisfen 1287 INCLUDES= -I.. $(FFTWINC)
77 gezelter 1240
78 chrisfen 1287 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARE)
79     CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARE)
80 gezelter 1295 DEPFLAGS=$(CFLAGS_C) $(INCLUDES) -I.
81 gezelter 1240
82     SRC_DIR := ..
83    
84 gezelter 1295 SHAPER=shaper$(EXE)
85     VISUALIZER=visualizer$(EXE)
86 gezelter 1360 LDADD=
87 gezelter 1240
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 gezelter 1295 SHAPER_C_FILES = \
99     $(DIR)/shaperCmd.c \
100 chrisfen 1287 $(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 gezelter 1240
109 gezelter 1360 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 gezelter 1295 VISUALIZER_C_FILES = \
120     $(DIR)/visualizerCmd.c
121    
122     SHAPER_CXX_FILES = \
123     $(DIR)/shaper.cpp \
124 gezelter 1240 $(DIR)/PDBReader.cpp \
125 gezelter 1271 $(DIR)/RigidBody.cpp \
126 chrisfen 1276 $(DIR)/VDWAtom.cpp \
127 chrisfen 1287 $(DIR)/GridBuilder.cpp \
128 gezelter 1295 $(DIR)/SphereHarm.cpp
129 gezelter 1240
130 gezelter 1360 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 gezelter 1295 VISUALIZER_CXX_FILES = \
139     $(DIR)/SHFunc.cpp \
140     $(DIR)/SHAPE.cpp \
141     $(DIR)/visualizer.cpp
142    
143 gezelter 1271 VDW_FILES= \
144     amber99.vdw \
145     charmm27.vdw \
146     gaff.vdw \
147     LJ.vdw \
148     oplsaal.vdw
149    
150 gezelter 1240 DIR:=.
151 gezelter 1295 SHAPER_C_SRCS := $(SHAPER_C_FILES)
152     SHAPER_CXX_SRCS := $(SHAPER_CXX_FILES)
153     SHAPER_SRCS := $(SHAPER_C_SRCS) $(SHAPER_CXX_SRCS)
154 gezelter 1360 SHAPERCGI_C_SRCS := $(SHAPERCGI_C_FILES)
155     SHAPERCGI_CXX_SRCS := $(SHAPERCGI_CXX_FILES)
156     SHAPERCGI_SRCS := $(SHAPERCGI_C_SRCS) $(SHAPERCGI_CXX_SRCS)
157 gezelter 1295 VISUALIZER_C_SRCS := $(VISUALIZER_C_FILES)
158     VISUALIZER_CXX_SRCS := $(VISUALIZER_CXX_FILES)
159     VISUALIZER_SRCS := $(VISUALIZER_C_SRCS) $(VISUALIZER_CXX_SRCS)
160 gezelter 1240
161     DIR:=obj
162 gezelter 1295 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 gezelter 1360 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 gezelter 1295 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 gezelter 1240
172 gezelter 1271 SUBDIRS = obj
173 gezelter 1240
174     # Possible make targets:
175    
176 gezelter 1360 all: shaper visualizer shaperCGI
177 gezelter 1240
178 gezelter 1295 shaper$(EXE) : $(SHAPER_OBJS)
179     $(CXX) $(CFLAGS) $(SHAPER_OBJS) -o $@ $(LDFLAGS) $(LDADD) $(FFTWLIB)
180 gezelter 1240
181 gezelter 1360 shaperCGI$(EXE) : $(SHAPERCGI_OBJS)
182     $(CXX) $(CFLAGS) $(SHAPERCGI_OBJS) -o $@ $(LDFLAGS) $(LDADD) $(FFTWLIB) $(CGICCLIB)
183    
184 gezelter 1295 visualizer$(EXE) : $(VISUALIZER_OBJS)
185     $(CXX) $(CFLAGS) $(VISUALIZER_OBJS) -o $@ $(LDFLAGS) $(LDADD)
186    
187 gezelter 1360 install : $(SHAPER) $(VISUALIZER) $(SHAPERCGI)
188 gezelter 1271 $(MKINSTALLDIRS) $(SHAPES_HOME)/bin
189 gezelter 1295 $(INSTALL_PROGRAM) -s $(SHAPER) $(SHAPES_HOME)/bin/$(SHAPER)
190 gezelter 1360 $(INSTALL_PROGRAM) -s $(SHAPERCGI) $(SHAPES_HOME)/bin/$(SHAPERCGI)
191 gezelter 1295 $(INSTALL_PROGRAM) -s $(VISUALIZER) $(SHAPES_HOME)/bin/$(VISUALIZER)
192 gezelter 1271 $(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 gezelter 1240
198    
199     .PHONY : clean
200    
201     clean : dummy
202 gezelter 1273 for i in $(SUBDIRS); do \
203 gezelter 1240 (cd $$i; $(RM) *.o *.mod) || exit 1; \
204     done
205 gezelter 1295 $(RM) shaper visualizer *.o *.mod *~ Make.temp
206 gezelter 1240
207     distclean : dummy
208 gezelter 1273 for i in $(SUBDIRS); do \
209 gezelter 1240 (cd $$i; $(RM) *.o *.mod) || exit 1; \
210     done
211 gezelter 1295 $(RM) shaper visualizer *.o *.mod *~ Make.temp
212 gezelter 1240
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 gezelter 1360 $(CC) $(DEPFLAGS) -MM $(SHAPER_C_SRCS) $(VISUALIZER_C_SRCS) $(SHAPERCGI_C_SRCS) \
219 gezelter 1240 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
220 gezelter 1360 $(CXX) $(DEPFLAGS) -MM $(SHAPER_CXX_SRCS) $(VISUALIZER_CXX_SRCS) $(SHAPERCGI_CXX_SRCS) \
221 gezelter 1240 | sed 's/\.o:/\$$(O)\ :/g' >> Make.temp
222     cat Make.temp | sed 's/^[a-zA-Z0-9]/obj\/&/g' >> Make.dep
223 gezelter 1273 $(RM) Make.temp
224 gezelter 1240
225     install : dummy
226    
227     links : dummy
228    
229     tests : dummy
230    
231     dummy :
232    
233     include Make.dep