1 | |
---|
2 | SHELL = /bin/sh |
---|
3 | |
---|
4 | #.SUFFIX: |
---|
5 | #SUFFIX: .c .o .cpp |
---|
6 | |
---|
7 | .PHONY: all install clean distclean |
---|
8 | |
---|
9 | bindir = @bindir@ |
---|
10 | datadir = @datadir@ |
---|
11 | datarootdir = @datarootdir@ |
---|
12 | exec_prefix = @exec_prefix@ |
---|
13 | includedir = @includedir@ |
---|
14 | libdir = @libdir@ |
---|
15 | mandir = @mandir@ |
---|
16 | prefix = @prefix@ |
---|
17 | srcdir = @srcdir@ |
---|
18 | |
---|
19 | VPATH = $(srcdir) |
---|
20 | |
---|
21 | INSTALL = @INSTALL@ |
---|
22 | #Why are these files installed owner writable? |
---|
23 | INSTALL_PROGRAM = ${INSTALL} -m 555 |
---|
24 | INSTALL_DATA = ${INSTALL} -m 444 |
---|
25 | INSTALL_SCRIPT = ${INSTALL} -m 444 |
---|
26 | RM = rm -f |
---|
27 | |
---|
28 | AUXSRC = config.h define.h global.h |
---|
29 | |
---|
30 | DX_DIR = @DX_DIR@ |
---|
31 | DX_INC_SPEC = -I$(DX_DIR)/include |
---|
32 | DX_LIB_SPEC = -L$(DX_DIR)/lib_linux -lDXcallm -lm |
---|
33 | GL_INC_SPEC = -I/usr/include/GL |
---|
34 | GL_LIB_SPEC = -lGL -lglut -lglui -lGLEW -lCg -lCgGL -lpthread |
---|
35 | IMG_DIR = ./imgLoaders |
---|
36 | IMG_INC_SPEC = -I$(srcdir)/$(IMG_DIR) |
---|
37 | IMG_LIB = $(IMG_DIR)/ImageLoaders.a |
---|
38 | IMG_LIB_SPEC = $(IMG_LIB) |
---|
39 | MAT_DIR = ./newmat11 |
---|
40 | MAT_INC_SPEC = -I$(srcdir)/$(MAT_DIR) |
---|
41 | MAT_LIB = $(MAT_DIR)/newmat11.a |
---|
42 | MAT_LIB_SPEC = $(MAT_LIB) |
---|
43 | R2_DIR = ./R2 |
---|
44 | R2_INC_SPEC = -I$(srcdir)/$(R2_DIR)/include |
---|
45 | R2_LIB = $(R2_DIR)/src/R2.a |
---|
46 | R2_LIB_SPEC = $(R2_LIB) |
---|
47 | |
---|
48 | RP_DIR = @RP_DIR@ |
---|
49 | RP_INC_SPEC = -I$(RP_DIR)/include -I$(RP_DIR)/include/rappture2 |
---|
50 | RP_LIB_SPEC = -L$(RP_DIR)/lib -lrappture2 -lrappture -lexpat -lz |
---|
51 | |
---|
52 | TF_DIR = ./transfer-function |
---|
53 | TF_INC_SPEC = -I$(TF_DIR) |
---|
54 | TF_LIB = $(TF_DIR)/transfer-function.a |
---|
55 | TF_LIB_SPEC = $(TF_LIB) |
---|
56 | |
---|
57 | LIBS = \ |
---|
58 | $(RP_LIB_SPEC) \ |
---|
59 | $(DX_LIB_SPEC) \ |
---|
60 | $(IMG_LIB_SPEC) \ |
---|
61 | $(R2_LIB_SPEC) \ |
---|
62 | $(TF_LIB_SPEC) \ |
---|
63 | $(MAT_LIB_SPEC) \ |
---|
64 | -ltcl8.4 \ |
---|
65 | $(GL_LIB_SPEC) |
---|
66 | |
---|
67 | INCLUDES = \ |
---|
68 | -I$(srcdir) \ |
---|
69 | $(RP_INC_SPEC) \ |
---|
70 | $(GL_INC_SPEC) \ |
---|
71 | $(R2_INC_SPEC) \ |
---|
72 | $(IMG_INC_SPEC) \ |
---|
73 | $(MAT_INC_SPEC) |
---|
74 | |
---|
75 | CC = @CC@ |
---|
76 | CFLAGS = @CFLAGS@ |
---|
77 | EXTRA_CFLAGS = -Wall |
---|
78 | DEFINES = @DEFINES@ |
---|
79 | CC_SWITCHES = $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) |
---|
80 | |
---|
81 | OBJS = \ |
---|
82 | Axis.o \ |
---|
83 | BucketSort.o \ |
---|
84 | Chain.o \ |
---|
85 | CmdProc.o \ |
---|
86 | Color.o \ |
---|
87 | Command.o \ |
---|
88 | ContourLineFilter.o \ |
---|
89 | ConvexPolygon.o \ |
---|
90 | Event.o \ |
---|
91 | GradientFilter.o \ |
---|
92 | Grid.o \ |
---|
93 | HeightMap.o \ |
---|
94 | Mat4x4.o \ |
---|
95 | Nv.o \ |
---|
96 | NvCamera.o \ |
---|
97 | NvColorTableRenderer.o \ |
---|
98 | NvColorTableShader.o \ |
---|
99 | NvDefaultTFData.o \ |
---|
100 | NvEventLog.o \ |
---|
101 | NvLIC.o \ |
---|
102 | NvLoadFile.o \ |
---|
103 | NvParticleAdvectionShader.o \ |
---|
104 | NvParticleRenderer.o \ |
---|
105 | NvRegularVolumeShader.o \ |
---|
106 | NvShader.o \ |
---|
107 | NvStdVertexShader.o \ |
---|
108 | NvVolumeShader.o \ |
---|
109 | NvZincBlendeReconstructor.o \ |
---|
110 | NvZincBlendeVolumeShader.o \ |
---|
111 | PCASplit.o \ |
---|
112 | PerfQuery.o \ |
---|
113 | Plane.o \ |
---|
114 | PlaneRenderer.o \ |
---|
115 | PointSet.o \ |
---|
116 | PointSetRenderer.o \ |
---|
117 | PointShader.o \ |
---|
118 | RenderContext.o \ |
---|
119 | RenderVertexArray.o \ |
---|
120 | Renderable.o \ |
---|
121 | RpDX.o \ |
---|
122 | ScreenSnapper.o \ |
---|
123 | Sphere.o \ |
---|
124 | Texture1D.o \ |
---|
125 | Texture2D.o \ |
---|
126 | Texture3D.o \ |
---|
127 | Trace.o \ |
---|
128 | TransferFunction.o \ |
---|
129 | Util.o \ |
---|
130 | Volume.o \ |
---|
131 | VolumeInterpolator.o \ |
---|
132 | VolumeRenderer.o \ |
---|
133 | ZincBlendeVolume.o \ |
---|
134 | dxReader.o \ |
---|
135 | dxReader2.o \ |
---|
136 | dxReaderCommon.o \ |
---|
137 | nanovis.o |
---|
138 | |
---|
139 | resources = \ |
---|
140 | $(srcdir)/resources/Font.bmp \ |
---|
141 | $(srcdir)/resources/particle2.bmp \ |
---|
142 | $(srcdir)/resources/verdana.fnt \ |
---|
143 | $(srcdir)/resources/verdana_bold.fnt |
---|
144 | |
---|
145 | shaders = \ |
---|
146 | $(srcdir)/shaders/common.cg \ |
---|
147 | $(srcdir)/shaders/copy_texcoord.cg \ |
---|
148 | $(srcdir)/shaders/heightcolor.cg \ |
---|
149 | $(srcdir)/shaders/one_plane.cg \ |
---|
150 | $(srcdir)/shaders/one_volume.cg \ |
---|
151 | $(srcdir)/shaders/passthru.cg \ |
---|
152 | $(srcdir)/shaders/pointsvp.cg \ |
---|
153 | $(srcdir)/shaders/render_vel.cg \ |
---|
154 | $(srcdir)/shaders/update_pos.cg \ |
---|
155 | $(srcdir)/shaders/update_pos_vel.cg \ |
---|
156 | $(srcdir)/shaders/update_vel.cg \ |
---|
157 | $(srcdir)/shaders/vertex_std.cg \ |
---|
158 | $(srcdir)/shaders/volqd_volume.cg \ |
---|
159 | $(srcdir)/shaders/zincblende_volume.cg |
---|
160 | |
---|
161 | all: nanovis |
---|
162 | |
---|
163 | install: install-nanovis install-resources install-shaders |
---|
164 | |
---|
165 | $(MAT_LIB): |
---|
166 | $(MAKE) -C $(MAT_DIR) all |
---|
167 | |
---|
168 | $(R2_LIB): |
---|
169 | $(MAKE) -C $(R2_DIR)/src all |
---|
170 | |
---|
171 | $(IMG_LIB): |
---|
172 | $(MAKE) -C $(IMG_DIR) all |
---|
173 | |
---|
174 | $(TF_LIB): |
---|
175 | $(MAKE) -C $(TF_DIR) all |
---|
176 | |
---|
177 | nanovis: $(MAT_LIB) $(R2_LIB) $(IMG_LIB) $(TF_LIB) $(OBJS) |
---|
178 | $(CC) $(CC_SWITCHES) -o $@ $^ $(LIBS) |
---|
179 | |
---|
180 | .cpp.o: |
---|
181 | $(CC) $(CC_SWITCHES) -o $@ -c $< |
---|
182 | |
---|
183 | dxReader2.o: $(srcdir)/dxReader2.cpp |
---|
184 | $(CC) -c $(CC_SWITCHES) $(DX_INC_SPEC) $? |
---|
185 | RpDX.o: $(srcdir)/RpDX.cpp |
---|
186 | $(CC) -c $(CC_SWITCHES) $(DX_INC_SPEC) $? |
---|
187 | |
---|
188 | client: Socket.o ClientSocket.o RenderClient.o Event.o |
---|
189 | $(CC) $(CC_SWITCHES) -o $@ $^ $(LIBS) |
---|
190 | |
---|
191 | Socket.o: socket/Socket.cpp socket/Socket.h |
---|
192 | $(CC) $(CC_SWITCHES) -o $@ -c $< |
---|
193 | ClientSocket.o: socket/ClientSocket.cpp socket/ClientSocket.h |
---|
194 | $(CC) $(CC_SWITCHES) -o $@ -c $< |
---|
195 | RenderClient.o: socket/RenderClient.cpp socket/RenderClient.h |
---|
196 | $(CC) $(CC_SWITCHES) -o $@ -c $< |
---|
197 | |
---|
198 | install-resources: |
---|
199 | $(INSTALL) -d $(libdir)/resources |
---|
200 | @for i in $(resources) ; do \ |
---|
201 | echo "installing $$i..." ; \ |
---|
202 | $(INSTALL_DATA) -m 0444 $$i $(libdir)/resources ; \ |
---|
203 | done |
---|
204 | |
---|
205 | install-shaders: |
---|
206 | $(INSTALL) -d $(libdir)/shaders |
---|
207 | @for i in $(shaders) ; do \ |
---|
208 | echo "installing $$i..." ; \ |
---|
209 | $(INSTALL_DATA) -m 0444 $$i $(libdir)/shaders ; \ |
---|
210 | done |
---|
211 | |
---|
212 | install-nanovis: nanovis |
---|
213 | $(INSTALL) -m 0555 nanovis $(bindir) |
---|
214 | @if test "$(RP_DIR)/bin" != "$(bindir)" ; then \ |
---|
215 | $(INSTALL) -d $(bindir) ; \ |
---|
216 | $(INSTALL_PROGRAM) $(RP_DIR)/bin/voronoi $(bindir) ; \ |
---|
217 | fi |
---|
218 | @if test "$(RP_DIR)/lib" != "$(libdir)" ; then \ |
---|
219 | $(INSTALL) -d $(libdir) ; \ |
---|
220 | $(INSTALL_DATA) $(RP_DIR)/lib/librappture2.so $(libdir) ; \ |
---|
221 | $(INSTALL_DATA) $(RP_DIR)/lib/libz.so $(libdir) ; \ |
---|
222 | $(INSTALL_DATA) $(RP_DIR)/lib/libb64.so $(libdir) ; \ |
---|
223 | fi |
---|
224 | |
---|
225 | clean: |
---|
226 | $(MAKE) -C $(MAT_DIR) clean |
---|
227 | $(MAKE) -C $(R2_DIR)/src clean |
---|
228 | $(MAKE) -C $(IMG_DIR) clean |
---|
229 | $(MAKE) -C $(TF_DIR) clean |
---|
230 | $(RM) nanovis client $(OBJS) |
---|
231 | |
---|
232 | distclean: clean |
---|
233 | $(RM) Makefile *~ |
---|
234 | |
---|
235 | NvStdVertexShader.o: NvStdVertexShader.cpp NvStdVertexShader.h |
---|
236 | ContourLineFilter.o: ContourLineFilter.cpp ContourLineFilter.h |
---|
237 | HeightMap.o: HeightMap.cpp HeightMap.h |
---|
238 | Grid.o: Grid.cpp Grid.h |
---|
239 | NvLoadFile.o: NvLoadFile.cpp NvLoadFile.h |
---|
240 | NvParticleAdvectionShader.o: NvParticleAdvectionShader.cpp NvParticleAdvectionShader.h |
---|
241 | NvParticleRenderer.o: NvParticleRenderer.cpp NvParticleRenderer.h |
---|
242 | NvColorTableShader.o: NvColorTableShader.cpp NvColorTableShader.h |
---|
243 | NvLIC.o: NvLIC.cpp NvLIC.h |
---|
244 | NvColorTableRenderer.o: NvColorTableRenderer.cpp NvColorTableRenderer.h |
---|
245 | NvEventLog.o: NvEventLog.cpp NvEventLog.h |
---|
246 | NvShader.o: NvShader.cpp NvShader.h |
---|
247 | NvVolumeShader.o: NvVolumeShader.cpp NvVolumeShader.h |
---|
248 | NvDefaultTFData.o: NvDefaultTFData.cpp |
---|
249 | NvRegularVolumeShader.o: NvRegularVolumeShader.cpp NvRegularVolumeShader.h |
---|
250 | NvZincBlendeVolumeShader.o: NvZincBlendeVolumeShader.cpp NvZincBlendeVolumeShader.h |
---|
251 | RenderVertexArray.o: RenderVertexArray.cpp RenderVertexArray.h |
---|
252 | Color.o: Color.cpp Color.h |
---|
253 | Event.o: Event.cpp Event.h |
---|
254 | Sphere.o: Sphere.cpp Sphere.h |
---|
255 | TransferFunction.o: TransferFunction.cpp |
---|
256 | Texture1D.o: Texture1D.cpp Texture1D.h |
---|
257 | Texture2D.o: Texture2D.cpp Texture2D.h $(AUXSRC) |
---|
258 | Texture3D.o: Texture3D.cpp Texture3D.h $(AUXSRC) |
---|
259 | Renderable.o: Renderable.cpp Renderable.h |
---|
260 | NvCamera.o: NvCamera.cpp NvCamera.h |
---|
261 | ScreenSnapper.o: ScreenSnapper.cpp ScreenSnapper.h define.h |
---|
262 | Volume.o: Volume.cpp Volume.h $(AUXSRC) |
---|
263 | ZincBlendeVolume.o: ZincBlendeVolume.cpp ZincBlendeVolume.h $(AUXSRC) |
---|
264 | VolumeRenderer.o: VolumeRenderer.cpp VolumeRenderer.h |
---|
265 | PlaneRenderer.o: PlaneRenderer.cpp PlaneRenderer.h |
---|
266 | Mat4x4.o: Mat4x4.cpp Mat4x4.h |
---|
267 | Plane.o: Plane.cpp Plane.h |
---|
268 | ConvexPolygon.o: ConvexPolygon.cpp ConvexPolygon.h |
---|
269 | PerfQuery.o: PerfQuery.cpp PerfQuery.h |
---|
270 | PointShader.o: PointShader.cpp PointShader.h |
---|
271 | PCASplit.o: PCASplit.cpp PCASplit.h |
---|
272 | BucketSort.o: BucketSort.cpp BucketSort.h |
---|
273 | PointSetRenderer.o: PointSetRenderer.cpp PointSetRenderer.h |
---|
274 | PointSet.o: PointSet.cpp PointSet.h |
---|
275 | RenderContext.o: RenderContext.cpp RenderContext.h |
---|
276 | VolumeInterpolator.o: VolumeInterpolator.cpp VolumeInterpolator.h |
---|
277 | GradientFilter.o: GradientFilter.cpp GradientFilter.h |
---|
278 | |
---|
279 | Util.o: Util.cpp Util.h |
---|
280 | Command.o: Command.cpp Command.h |
---|
281 | Trace.o: Trace.cpp Trace.h |
---|
282 | |
---|
283 | nanovis.o: nanovis.cpp nanovis.h $(AUXSRC) |
---|