source: nanovis/trunk/Makefile.in @ 5048

Last change on this file since 5048 was 5048, checked in by ldelgass, 7 years ago

merge r5047 from release branch

File size: 12.8 KB
Line 
1TRACE                   = #yes
2USE_THREADS             = yes
3USE_POINTSET_RENDERER   = #yes
4USE_PARTICLE_SYSTEM     = #yes
5USE_DX_READER           = yes
6USE_VTK                 = yes
7
8SHELL = /bin/sh
9
10bindir          = @bindir@
11datadir         = @datadir@
12datarootdir     = @datarootdir@
13exec_prefix     = @exec_prefix@
14includedir      = @includedir@
15libdir          = @libdir@
16mandir          = @mandir@
17prefix          = @prefix@
18srcdir          = @srcdir@
19
20VPATH           = $(srcdir)
21
22INSTALL         = @INSTALL@
23MKDIR_P         = @MKDIR_P@
24
25#Why are these files installed owner writable?
26INSTALL_PROGRAM = ${INSTALL} -m 0555
27INSTALL_DATA    = ${INSTALL} -m 0444
28INSTALL_SCRIPT  = ${INSTALL} -m 0444
29RM              = rm -f
30
31CG_INC_SPEC     = @CG_INC_SPEC@
32CG_LIB_SPEC     = @CG_LIB_SPEC@
33
34GL_INC_SPEC     =
35GL_LIB_SPEC     = -lglut -lGLEW -lGLU -lGL
36GRAPHICS_DIR      = ./graphics
37GRAPHICS_INC_SPEC = -I$(srcdir)/$(GRAPHICS_DIR)/include
38GRAPHICS_LIB      = $(GRAPHICS_DIR)/nvgraphics.a
39GRAPHICS_LIB_SPEC = $(GRAPHICS_LIB)
40IMG_DIR         = ./imgLoaders
41IMG_INC_SPEC    = -I$(srcdir)/$(IMG_DIR)
42IMG_LIB         = $(IMG_DIR)/ImageLoaders.a
43IMG_LIB_SPEC    = $(IMG_LIB)
44MAT_DIR         = ./newmat11
45MAT_INC_SPEC    = -I$(srcdir)/$(MAT_DIR)
46MAT_LIB         = $(MAT_DIR)/newmat11.a
47MAT_LIB_SPEC    = $(MAT_LIB)
48UTIL_DIR        = ./util
49UTIL_INC_SPEC   = -I$(srcdir)/$(UTIL_DIR)
50UTIL_LIB        = $(UTIL_DIR)/nvutil.a
51UTIL_LIB_SPEC   = $(UTIL_LIB)
52VRMATH_DIR      = ./vrmath
53VRMATH_INC_SPEC = -I$(srcdir)/$(VRMATH_DIR)/include
54VRMATH_LIB      = $(VRMATH_DIR)/vrmath.a
55VRMATH_LIB_SPEC = $(VRMATH_LIB)
56
57VTK_VERSION     = @VTK_VERSION@
58VTK_LIB_DIR     = @VTK_LIB_DIR@
59VTK_INC_DIR     = @VTK_INC_DIR@
60ifdef USE_VTK
61VTK_INC_SPEC    = -I$(VTK_INC_DIR)/vtk-$(VTK_VERSION)
62VTK_LIB_SPEC    = -L$(VTK_LIB_DIR) \
63                -lvtkIOCore-$(VTK_VERSION) \
64                -lvtkIOLegacy-$(VTK_VERSION) \
65                -lvtkFiltersCore-$(VTK_VERSION) \
66                -lvtkImagingHybrid-$(VTK_VERSION) \
67                -lvtkImagingCore-$(VTK_VERSION) \
68                -lvtkCommonCore-$(VTK_VERSION) \
69                -lvtkCommonDataModel-$(VTK_VERSION) \
70                -lvtkCommonExecutionModel-$(VTK_VERSION) \
71                -lvtkCommonMisc-$(VTK_VERSION) \
72                -lvtkCommonSystem-$(VTK_VERSION) \
73                -lvtkCommonTransforms-$(VTK_VERSION) \
74                -lvtkCommonMath-$(VTK_VERSION)
75else
76VTK_INC_SPEC    =
77VTK_LIB_SPEC    =
78endif
79
80NEED_RAPPTURE2  =
81ifdef USE_DX_READER
82NEED_RAPPTURE2  = yes
83endif
84ifndef USE_VTK
85NEED_RAPPTURE2  = yes
86endif
87
88EXTRA_LIBS      = -lm -lpthread
89RP_DIR          =  @RP_DIR@
90RP_INC_SPEC     = -I$(RP_DIR)/include
91ifdef NEED_RAPPTURE2
92RP_INC_SPEC     += -I$(RP_DIR)/include/rappture2
93endif
94ifdef NEED_RAPPTURE2
95RP_LIB_SPEC     = -L$(RP_DIR)/lib -lrappture2 -lrappture -lexpat -lz
96else
97RP_LIB_SPEC     = -L$(RP_DIR)/lib -lrappture -lexpat -lz
98endif
99
100TCL_LIB_SPEC    = @TCL_LIB_SPEC@
101TCL_INC_SPEC    = @TCL_INC_SPEC@
102
103LD_RUN_PATH     = $(VTK_LIB_DIR):$(libdir):@LD_RPATH@
104
105SVN_VERSION     = $(shell svnversion $(srcdir) | sed 's/Unversioned directory/unknown/')
106STATSDIR        = @STATSDIR@
107
108LIBS            = \
109                $(RP_LIB_SPEC) \
110                $(VTK_LIB_SPEC) \
111                $(TCL_LIB_SPEC) \
112                $(CG_LIB_SPEC) \
113                $(GL_LIB_SPEC) \
114                $(EXTRA_LIBS) \
115                -Wl,-rpath,$(LD_RUN_PATH)
116
117STATIC_LIBS     = \
118                $(GRAPHICS_LIB) \
119                $(IMG_LIB) \
120                $(UTIL_LIB) \
121                $(VRMATH_LIB)
122
123INCLUDES        = \
124                -I. \
125                -I$(srcdir) \
126                $(IMG_INC_SPEC) \
127                $(VRMATH_INC_SPEC) \
128                $(VTK_INC_SPEC) \
129                $(TCL_INC_SPEC) \
130                $(CG_INC_SPEC) \
131                $(GL_INC_SPEC) \
132                $(RP_INC_SPEC)
133
134CC              = @CC@
135CXX             = @CXX@
136CFLAGS          = @CFLAGS@
137EXTRA_CFLAGS    = -Wall
138DEFINES         = -DSVN_VERSION=\"$(SVN_VERSION)\" -DSTATSDIR=\"$(STATSDIR)\"
139ifdef TRACE
140DEFINES         += -DWANT_TRACE
141endif
142ifdef USE_DX_READER
143DEFINES         += -DUSE_DX_READER
144endif
145ifdef USE_THREADS
146DEFINES         += -DUSE_THREADS
147endif
148ifdef USE_POINTSET_RENDERER
149DEFINES         += -DUSE_POINTSET_RENDERER
150endif
151ifdef USE_VTK
152DEFINES         += -DUSE_VTK
153endif
154CXX_SWITCHES    = $(CFLAGS) $(EXTRA_CFLAGS) $(DEFINES) $(INCLUDES)
155
156OBJS            = \
157                Axis.o \
158                BMPWriter.o \
159                Camera.o \
160                Chain.o \
161                CmdProc.o \
162                ColorTableShader.o \
163                Command.o \
164                ContourLineFilter.o \
165                ConvexPolygon.o \
166                Flow.o \
167                FlowBox.o \
168                FlowCmd.o \
169                FlowParticles.o \
170                GradientFilter.o \
171                Grid.o \
172                HeightMap.o \
173                LIC.o \
174                OrientationIndicator.o \
175                ParticleAdvectionShader.o \
176                ParticleRenderer.o \
177                PerfQuery.o \
178                Plane.o \
179                PlaneRenderer.o \
180                PPMWriter.o \
181                ReadBuffer.o \
182                ReaderCommon.o \
183                RegularVolumeShader.o \
184                RenderVertexArray.o \
185                ResponseQueue.o \
186                Shader.o \
187                StdVertexShader.o \
188                Switch.o \
189                Texture1D.o \
190                Texture2D.o \
191                Texture3D.o \
192                Trace.o \
193                TransferFunction.o \
194                Unirect.o \
195                VelocityArrowsSlice.o \
196                Volume.o \
197                VolumeInterpolator.o \
198                VolumeRenderer.o \
199                VolumeShader.o \
200                ZincBlendeReconstructor.o \
201                ZincBlendeVolume.o \
202                ZincBlendeVolumeShader.o \
203                md5.o \
204                nanovis.o \
205                nanovisServer.o
206
207resources       = \
208                $(srcdir)/resources/arrows.bmp \
209                $(srcdir)/resources/verdana.fnt \
210                $(srcdir)/resources/verdana_bold.fnt
211
212shaders         = \
213                $(srcdir)/shaders/common.cg \
214                $(srcdir)/shaders/cutplane_fp.cg \
215                $(srcdir)/shaders/cutplane_vp.cg \
216                $(srcdir)/shaders/heightcolor.cg \
217                $(srcdir)/shaders/one_plane.cg \
218                $(srcdir)/shaders/one_volume.cg \
219                $(srcdir)/shaders/particle_common.cg \
220                $(srcdir)/shaders/queryvelocity.cg \
221                $(srcdir)/shaders/render_vel.cg \
222                $(srcdir)/shaders/update_pos.cg \
223                $(srcdir)/shaders/velocityslicefp.cg \
224                $(srcdir)/shaders/velocityslicevp.cg \
225                $(srcdir)/shaders/vertex_std.cg \
226                $(srcdir)/shaders/zincblende_volume.cg
227
228ifdef USE_DX_READER
229OBJS +=         dxReader.o
230endif
231
232ifdef USE_PARTICLE_SYSTEM
233OBJS +=         ParticleEmitter.o \
234                ParticleSystem.o \
235                ParticleSystemFactory.o
236
237shaders +=      $(srcdir)/shaders/passthrough.cg \
238                $(srcdir)/shaders/distance.cg \
239                $(srcdir)/shaders/mergesort.cg \
240                $(srcdir)/shaders/moveparticles.cg \
241                $(srcdir)/shaders/particlefp.cg \
242                $(srcdir)/shaders/particlevp.cg
243endif
244
245ifdef USE_POINTSET_RENDERER
246OBJS +=         BucketSort.o \
247                PCASplit.o \
248                PointSet.o \
249                PointSetRenderer.o \
250                PointShader.o
251STATIC_LIBS +=  $(MAT_LIB)
252INCLUDES +=     $(MAT_INC_SPEC)
253resources +=    $(srcdir)/resources/particle2.bmp
254shaders +=      $(srcdir)/shaders/pointsvp.cg
255endif
256
257ifdef USE_VTK
258OBJS +=         DataSetResample.o \
259                VtkDataSetReader.o
260else
261OBJS +=         VtkReader.o
262endif
263
264.PHONY: all install install-resources install-shaders install-nanovis docs clean-docs clean distclean graphics imgloaders newmat11 util vrmath
265
266all: nanovis
267
268install: install-nanovis install-resources install-shaders
269
270docs:
271        $(MKDIR_P) -m 0755 docs/doxygen
272        doxygen
273
274graphics:               $(GRAPHICS_LIB)
275imgloaders:             $(IMG_LIB)
276newmat11:               $(MAT_LIB)
277util:                   $(UTIL_LIB)
278vrmath:                 $(VRMATH_LIB)
279
280$(GRAPHICS_LIB):
281        $(MAKE) -C $(GRAPHICS_DIR) all
282
283$(IMG_LIB):
284        $(MAKE) -C $(IMG_DIR) all
285
286$(MAT_LIB):
287        $(MAKE) -C $(MAT_DIR) all
288
289$(UTIL_LIB):
290        $(MAKE) -C $(UTIL_DIR) all
291
292$(VRMATH_LIB):
293        $(MAKE) -C $(VRMATH_DIR) all
294
295nanovis: $(OBJS) $(STATIC_LIBS)
296        $(CXX) $(CXX_SWITCHES) -o $@ $^ $(LIBS)
297
298.cpp.o:
299        $(CXX) $(CXX_SWITCHES) -o $@ -c $<
300
301install-resources:
302        $(MKDIR_P) $(libdir)/resources
303        @for i in $(resources) ; do \
304            echo "installing $$i..." ; \
305            $(INSTALL_DATA) $$i $(libdir)/resources ; \
306        done
307
308install-shaders:
309        $(MKDIR_P) $(libdir)/shaders
310        @for i in $(shaders) ; do \
311            echo "installing $$i..." ; \
312            $(INSTALL_DATA) $$i $(libdir)/shaders ; \
313        done
314
315install-nanovis: nanovis
316        $(INSTALL_PROGRAM) nanovis $(bindir)
317
318clean:
319        $(MAKE) -C $(MAT_DIR) clean
320        $(MAKE) -C $(GRAPHICS_DIR) clean
321        $(MAKE) -C $(IMG_DIR) clean
322        $(MAKE) -C $(UTIL_DIR) clean
323        $(MAKE) -C $(VRMATH_DIR) clean
324        $(RM) nanovis client *.o
325
326clean-docs:
327        $(RM) -r docs
328
329distclean: clean clean-docs
330        $(MAKE) -C $(MAT_DIR) distclean
331        $(MAKE) -C $(GRAPHICS_DIR) distclean
332        $(MAKE) -C $(IMG_DIR) distclean
333        $(MAKE) -C $(UTIL_DIR) distclean
334        $(MAKE) -C $(VRMATH_DIR) distclean
335        $(RM) Makefile nvconf.h *~
336
337Axis.o: Axis.cpp Axis.h Chain.h
338BMPWriter.o: BMPWriter.cpp BMPWriter.h nanovis.h
339BucketSort.o: BucketSort.cpp BucketSort.h $(VRMATH_DIR)/include/vrmath/Vector3f.h $(VRMATH_DIR)/include/vrmath/Vector4f.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h PCASplit.h
340Camera.o: Camera.cpp Camera.h config.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h
341Chain.o: Chain.cpp Chain.h
342CmdProc.o: CmdProc.cpp CmdProc.h
343ColorTableShader.o: ColorTableShader.cpp ColorTableShader.h Shader.h
344Command.o: Command.cpp nanovis.h nanovisServer.h ReadBuffer.h ResponseQueue.h config.h define.h FlowCmd.h CmdProc.h Trace.h PlaneRenderer.h PPMWriter.h BMPWriter.h dxReader.h Grid.h HeightMap.h Camera.h ZincBlendeReconstructor.h OrientationIndicator.h Unirect.h Volume.h VolumeRenderer.h
345ContourLineFilter.o: ContourLineFilter.cpp ContourLineFilter.h
346ConvexPolygon.o: ConvexPolygon.cpp ConvexPolygon.h $(VRMATH_DIR)/include/vrmath/Vector4f.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h Plane.h
347DataSetResample.o: DataSetResample.cpp DataSetResample.h
348Flow.o: Flow.cpp Flow.h FlowCmd.h FlowTypes.h FlowBox.h FlowParticles.h LIC.h VelocityArrowsSlice.h Switch.h Unirect.h Volume.h TransferFunction.h Trace.h
349FlowBox.o: FlowBox.cpp FlowBox.h FlowTypes.h Switch.h Trace.h Volume.h $(VRMATH_DIR)/include/vrmath/Vector3f.h $(VRMATH_DIR)/include/vrmath/Vector4f.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h
350FlowCmd.o: FlowCmd.cpp FlowCmd.h FlowParticles.h FlowBox.h FlowTypes.h Command.h PPMWriter.h Switch.h Trace.h TransferFunction.h nanovis.h nanovisServer.h CmdProc.h LIC.h Unirect.h Volume.h VelocityArrowsSlice.h $(VRMATH_DIR)/include/vrmath/Vector3f.h
351FlowParticles.o: FlowParticles.cpp FlowParticles.h FlowTypes.h FlowCmd.h Switch.h Trace.h ParticleRenderer.h Volume.h $(VRMATH_DIR)/include/vrmath/Vector3f.h $(VRMATH_DIR)/include/vrmath/Vector4f.h
352GradientFilter.o: GradientFilter.cpp GradientFilter.h
353Grid.o: Grid.cpp Grid.h Axis.h Chain.h $(UTIL_DIR)/Fonts.h $(VRMATH_DIR)/include/vrmath/Color4f.h $(VRMATH_DIR)/include/vrmath/Vector4f.h
354HeightMap.o: HeightMap.cpp HeightMap.h Shader.h
355LIC.o: LIC.cpp LIC.h FlowTypes.h Shader.h define.h
356OrientationIndicator.o: OrientationIndicator.cpp OrientationIndicator.h
357ParticleAdvectionShader.o: ParticleAdvectionShader.cpp ParticleAdvectionShader.h Shader.h
358ParticleEmitter.o: ParticleEmitter.cpp ParticleEmitter.h
359ParticleRenderer.o: ParticleRenderer.cpp ParticleRenderer.h FlowTypes.h define.h
360ParticleSystem.o: ParticleSystem.cpp ParticleSystem.h
361ParticleSystemFactory.o: ParticleSystemFactory.cpp ParticleSystemFactory.h
362PCASplit.o: PCASplit.cpp PCASplit.h
363PerfQuery.o: PerfQuery.cpp PerfQuery.h
364Plane.o: Plane.cpp Plane.h $(VRMATH_DIR)/include/vrmath/Vector4f.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h
365PlaneRenderer.o: PlaneRenderer.cpp PlaneRenderer.h
366PointSet.o: PointSet.cpp PointSet.h
367PointSetRenderer.o: PointSetRenderer.cpp PointSetRenderer.h
368PointShader.o: PointShader.cpp PointShader.h
369PPMWriter.o: PPMWriter.cpp PPMWriter.h
370ReadBuffer.o: ReadBuffer.cpp ReadBuffer.h Trace.h
371ReaderCommon.o: ReaderCommon.cpp ReaderCommon.h GradientFilter.h $(VRMATH_DIR)/include/vrmath/Vector3f.h
372RegularVolumeShader.o: RegularVolumeShader.cpp RegularVolumeShader.h VolumeShader.h Shader.h
373RenderVertexArray.o: RenderVertexArray.cpp RenderVertexArray.h
374Shader.o: Shader.cpp Shader.h config.h
375ShaderGL.o: ShaderGL.cpp ShaderGL.h
376StdVertexShader.o: StdVertexShader.cpp StdVertexShader.h Shader.h
377Switch.o: Switch.cpp Switch.h
378Texture1D.o: Texture1D.cpp Texture1D.h
379Texture2D.o: Texture2D.cpp Texture2D.h config.h define.h
380Texture3D.o: Texture3D.cpp Texture3D.h config.h define.h
381Trace.o: Trace.cpp Trace.h
382TransferFunction.o: TransferFunction.cpp
383Unirect.o: Unirect.cpp Unirect.h Command.h Trace.h
384VelocityArrowsSlice.o: VelocityArrowsSlice.cpp VelocityArrowsSlice.h nanovis.h FlowTypes.h Camera.h Volume.h Shader.h
385Volume.o: Volume.cpp Volume.h config.h define.h
386VolumeInterpolator.o: VolumeInterpolator.cpp VolumeInterpolator.h Volume.h
387VolumeRenderer.o: VolumeRenderer.cpp VolumeRenderer.h ConvexPolygon.h Volume.h nanovis.h Trace.h Plane.h StdVertexShader.h Shader.h
388VolumeShader.o: VolumeShader.cpp VolumeShader.h Shader.h
389VtkDataSetReader.o: VtkDataSetReader.cpp VtkDataSetReader.h DataSetResample.h $(VRMATH_DIR)/include/vrmath/Vector3f.h ReaderCommon.h Trace.h Volume.h nanovis.h config.h
390VtkReader.o: VtkReader.h Trace.h Volume.h $(VRMATH_DIR)/include/vrmath/Vector3f.h ReaderCommon.h nanovis.h config.h
391ZincBlendeReconstructor.o: ZincBlendeReconstructor.cpp ZincBlendeReconstructor.h ZincBlendeVolume.h Volume.h $(VRMATH_DIR)/include/vrmath/Vector3f.h
392ZincBlendeVolume.o: ZincBlendeVolume.cpp ZincBlendeVolume.h config.h define.h
393ZincBlendeVolumeShader.o: ZincBlendeVolumeShader.cpp ZincBlendeVolumeShader.h VolumeShader.h Shader.h
394dxReader.o: dxReader.cpp ReaderCommon.h config.h nanovis.h Unirect.h ZincBlendeVolume.h ZincBlendeReconstructor.h
395md5.o: md5.h
396nanovis.o: nanovis.cpp nanovis.h nanovisServer.h config.h define.h Command.h Flow.h Grid.h HeightMap.h Camera.h LIC.h ZincBlendeReconstructor.h OrientationIndicator.h PerfQuery.h PlaneRenderer.h PointSetRenderer.h PointSet.h Switch.h Trace.h Unirect.h VelocityArrowsSlice.h VolumeInterpolator.h VolumeRenderer.h ZincBlendeVolume.h Axis.h Chain.h $(UTIL_DIR)/Fonts.h
397nanovisServer.o: nanovisServer.cpp nanovisServer.h config.h nanovis.h define.h Command.h PPMWriter.h ReadBuffer.h Shader.h ResponseQueue.h Trace.h
Note: See TracBrowser for help on using the repository browser.