TRACE = #yes USE_THREADS = yes USE_POINTSET_RENDERER = #yes USE_PARTICLE_SYSTEM = #yes USE_DX_READER = yes USE_VTK = yes SHELL = /bin/sh bindir = @bindir@ datadir = @datadir@ datarootdir = @datarootdir@ exec_prefix = @exec_prefix@ includedir = @includedir@ libdir = @libdir@ mandir = @mandir@ prefix = @prefix@ srcdir = @srcdir@ VPATH = $(srcdir) INSTALL = @INSTALL@ MKDIR_P = @MKDIR_P@ #Why are these files installed owner writable? INSTALL_PROGRAM = ${INSTALL} -m 0555 INSTALL_DATA = ${INSTALL} -m 0444 INSTALL_SCRIPT = ${INSTALL} -m 0444 RM = rm -f CG_INC_SPEC = @CG_INC_SPEC@ CG_LIB_SPEC = @CG_LIB_SPEC@ GL_INC_SPEC = GL_LIB_SPEC = -lGL -lglut -lGLEW -lGLU GRAPHICS_DIR = ./graphics GRAPHICS_INC_SPEC = -I$(srcdir)/$(GRAPHICS_DIR)/include GRAPHICS_LIB = $(GRAPHICS_DIR)/nvgraphics.a GRAPHICS_LIB_SPEC = $(GRAPHICS_LIB) IMG_DIR = ./imgLoaders IMG_INC_SPEC = -I$(srcdir)/$(IMG_DIR) IMG_LIB = $(IMG_DIR)/ImageLoaders.a IMG_LIB_SPEC = $(IMG_LIB) MAT_DIR = ./newmat11 MAT_INC_SPEC = -I$(srcdir)/$(MAT_DIR) MAT_LIB = $(MAT_DIR)/newmat11.a MAT_LIB_SPEC = $(MAT_LIB) UTIL_DIR = ./util UTIL_INC_SPEC = -I$(srcdir)/$(UTIL_DIR) UTIL_LIB = $(UTIL_DIR)/nvutil.a UTIL_LIB_SPEC = $(UTIL_LIB) VRMATH_DIR = ./vrmath VRMATH_INC_SPEC = -I$(srcdir)/$(VRMATH_DIR)/include VRMATH_LIB = $(VRMATH_DIR)/vrmath.a VRMATH_LIB_SPEC = $(VRMATH_LIB) VTK_VERSION = @VTK_VERSION@ VTK_LIB_DIR = @VTK_LIB_DIR@ VTK_INC_DIR = @VTK_INC_DIR@ ifdef USE_VTK VTK_INC_SPEC = -I$(VTK_INC_DIR)/vtk-$(VTK_VERSION) VTK_LIB_SPEC = -L$(VTK_LIB_DIR) \ -lvtkIOCore-$(VTK_VERSION) \ -lvtkIOLegacy-$(VTK_VERSION) \ -lvtkFiltersCore-$(VTK_VERSION) \ -lvtkImagingHybrid-$(VTK_VERSION) \ -lvtkImagingCore-$(VTK_VERSION) \ -lvtkCommonCore-$(VTK_VERSION) \ -lvtkCommonDataModel-$(VTK_VERSION) \ -lvtkCommonExecutionModel-$(VTK_VERSION) \ -lvtkCommonMisc-$(VTK_VERSION) \ -lvtkCommonSystem-$(VTK_VERSION) \ -lvtkCommonTransforms-$(VTK_VERSION) \ -lvtkCommonMath-$(VTK_VERSION) else VTK_INC_SPEC = VTK_LIB_SPEC = endif NEED_RAPPTURE2 = ifdef USE_DX_READER NEED_RAPPTURE2 = yes endif ifndef USE_VTK NEED_RAPPTURE2 = yes endif EXTRA_LIBS = -lm -lpthread RP_DIR = @RP_DIR@ RP_INC_SPEC = -I$(RP_DIR)/include ifdef NEED_RAPPTURE2 RP_INC_SPEC += -I$(RP_DIR)/include/rappture2 endif ifdef NEED_RAPPTURE2 RP_LIB_SPEC = -L$(RP_DIR)/lib -lrappture2 -lrappture -lexpat -lz else RP_LIB_SPEC = -L$(RP_DIR)/lib -lrappture -lexpat -lz endif TCL_LIB_SPEC = @TCL_LIB_SPEC@ TCL_INC_SPEC = @TCL_INC_SPEC@ LD_RUN_PATH = $(VTK_LIB_DIR):$(libdir):@LD_RPATH@ SVN_VERSION = $(shell svnversion $(srcdir) | sed 's/Unversioned directory/unknown/') STATSDIR = @STATSDIR@ LIBS = \ $(RP_LIB_SPEC) \ $(GRAPHICS_LIB_SPEC) \ $(IMG_LIB_SPEC) \ $(MAT_LIB_SPEC) \ $(UTIL_LIB_SPEC) \ $(VRMATH_LIB_SPEC) \ $(VTK_LIB_SPEC) \ $(TCL_LIB_SPEC) \ $(CG_LIB_SPEC) \ $(GL_LIB_SPEC) \ $(EXTRA_LIBS) \ -Wl,-rpath,$(LD_RUN_PATH) INCLUDES = \ -I. \ -I$(srcdir) \ $(IMG_INC_SPEC) \ $(MAT_INC_SPEC) \ $(VRMATH_INC_SPEC) \ $(VTK_INC_SPEC) \ $(TCL_INC_SPEC) \ $(CG_INC_SPEC) \ $(GL_INC_SPEC) \ $(RP_INC_SPEC) CC = @CC@ CXX = @CXX@ CFLAGS = @CFLAGS@ EXTRA_CFLAGS = -Wall DEFINES = -DSVN_VERSION=\"$(SVN_VERSION)\" -DSTATSDIR=\"$(STATSDIR)\" ifdef TRACE DEFINES += -DWANT_TRACE endif ifdef USE_DX_READER DEFINES += -DUSE_DX_READER endif ifdef USE_THREADS DEFINES += -DUSE_THREADS endif ifdef USE_POINTSET_RENDERER DEFINES += -DUSE_POINTSET_RENDERER endif ifdef USE_VTK DEFINES += -DUSE_VTK endif CXX_SWITCHES = $(CFLAGS) $(EXTRA_CFLAGS) $(DEFINES) $(INCLUDES) OBJS = \ Axis.o \ BMPWriter.o \ Camera.o \ Chain.o \ CmdProc.o \ ColorTableShader.o \ Command.o \ ContourLineFilter.o \ ConvexPolygon.o \ Flow.o \ FlowBox.o \ FlowCmd.o \ FlowParticles.o \ GradientFilter.o \ Grid.o \ HeightMap.o \ LIC.o \ OrientationIndicator.o \ ParticleAdvectionShader.o \ ParticleRenderer.o \ PerfQuery.o \ Plane.o \ PlaneRenderer.o \ PPMWriter.o \ ReadBuffer.o \ ReaderCommon.o \ RegularVolumeShader.o \ RenderVertexArray.o \ ResponseQueue.o \ Shader.o \ StdVertexShader.o \ Switch.o \ Texture1D.o \ Texture2D.o \ Texture3D.o \ Trace.o \ TransferFunction.o \ Unirect.o \ VelocityArrowsSlice.o \ Volume.o \ VolumeInterpolator.o \ VolumeRenderer.o \ VolumeShader.o \ ZincBlendeReconstructor.o \ ZincBlendeVolume.o \ ZincBlendeVolumeShader.o \ md5.o \ nanovis.o \ nanovisServer.o resources = \ $(srcdir)/resources/arrows.bmp \ $(srcdir)/resources/particle2.bmp \ $(srcdir)/resources/verdana.fnt \ $(srcdir)/resources/verdana_bold.fnt shaders = \ $(srcdir)/shaders/common.cg \ $(srcdir)/shaders/cutplane_fp.cg \ $(srcdir)/shaders/cutplane_vp.cg \ $(srcdir)/shaders/heightcolor.cg \ $(srcdir)/shaders/one_plane.cg \ $(srcdir)/shaders/one_volume.cg \ $(srcdir)/shaders/particle_common.cg \ $(srcdir)/shaders/queryvelocity.cg \ $(srcdir)/shaders/render_vel.cg \ $(srcdir)/shaders/update_pos.cg \ $(srcdir)/shaders/velocityslicefp.cg \ $(srcdir)/shaders/velocityslicevp.cg \ $(srcdir)/shaders/vertex_std.cg \ $(srcdir)/shaders/zincblende_volume.cg ifdef USE_DX_READER OBJS += dxReader.o endif ifdef USE_PARTICLE_SYSTEM OBJS += ParticleEmitter.o \ ParticleSystem.o \ ParticleSystemFactory.o shaders += $(srcdir)/shaders/passthrough.cg \ $(srcdir)/shaders/distance.cg \ $(srcdir)/shaders/mergesort.cg \ $(srcdir)/shaders/moveparticles.cg \ $(srcdir)/shaders/particlefp.cg \ $(srcdir)/shaders/particlevp.cg endif ifdef USE_POINTSET_RENDERER OBJS += BucketSort.o \ PCASplit.o \ PointSet.o \ PointSetRenderer.o \ PointShader.o shaders += $(srcdir)/shaders/pointsvp.cg endif ifdef USE_VTK OBJS += DataSetResample.o \ VtkDataSetReader.o else OBJS += VtkReader.o endif .PHONY: all install install-resources install-shaders install-nanovis docs clean-docs clean distclean graphics imgloaders newmat11 util vrmath all: newmat11 graphics imgloaders util vrmath nanovis install: install-nanovis install-resources install-shaders docs: $(MKDIR_P) -m 0755 docs/doxygen doxygen graphics: $(GRAPHICS_LIB) imgloaders: $(IMG_LIB) newmat11: $(MAT_LIB) util: $(UTIL_LIB) vrmath: $(VRMATH_LIB) $(GRAPHICS_LIB): $(MAKE) -C $(GRAPHICS_DIR) all $(IMG_LIB): $(MAKE) -C $(IMG_DIR) all $(MAT_LIB): $(MAKE) -C $(MAT_DIR) all $(UTIL_LIB): $(MAKE) -C $(UTIL_DIR) all $(VRMATH_LIB): $(MAKE) -C $(VRMATH_DIR) all nanovis: $(MAT_LIB) $(GRAPHICS_LIB) $(IMG_LIB) $(UTIL_LIB) $(VRMATH_LIB) $(OBJS) $(CXX) $(CXX_SWITCHES) -o $@ $^ $(LIBS) .cpp.o: $(CXX) $(CXX_SWITCHES) -o $@ -c $< install-resources: $(MKDIR_P) $(libdir)/resources @for i in $(resources) ; do \ echo "installing $$i..." ; \ $(INSTALL_DATA) $$i $(libdir)/resources ; \ done install-shaders: $(MKDIR_P) $(libdir)/shaders @for i in $(shaders) ; do \ echo "installing $$i..." ; \ $(INSTALL_DATA) $$i $(libdir)/shaders ; \ done install-nanovis: nanovis $(INSTALL_PROGRAM) nanovis $(bindir) clean: $(MAKE) -C $(MAT_DIR) clean $(MAKE) -C $(GRAPHICS_DIR) clean $(MAKE) -C $(IMG_DIR) clean $(MAKE) -C $(UTIL_DIR) clean $(MAKE) -C $(VRMATH_DIR) clean $(RM) nanovis client *.o clean-docs: $(RM) -r docs distclean: clean clean-docs $(MAKE) -C $(MAT_DIR) distclean $(MAKE) -C $(GRAPHICS_DIR) distclean $(MAKE) -C $(IMG_DIR) distclean $(MAKE) -C $(UTIL_DIR) distclean $(MAKE) -C $(VRMATH_DIR) distclean $(RM) Makefile nvconf.h *~ Axis.o: Axis.cpp Axis.h Chain.h BMPWriter.o: BMPWriter.cpp nanovis.h BucketSort.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 Camera.o: Camera.cpp Camera.h config.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h Chain.o: Chain.cpp Chain.h CmdProc.o: CmdProc.cpp CmdProc.h ColorTableShader.o: ColorTableShader.cpp ColorTableShader.h Shader.h Command.o: Command.cpp nanovis.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 ContourLineFilter.o: ContourLineFilter.cpp ContourLineFilter.h ConvexPolygon.o: ConvexPolygon.cpp ConvexPolygon.h $(VRMATH_DIR)/include/vrmath/Vector4f.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h Plane.h DataSetResample.o: DataSetResample.cpp DataSetResample.h Flow.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 FlowBox.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 FlowCmd.o: FlowCmd.cpp FlowCmd.h FlowParticles.h FlowBox.h FlowTypes.h Command.h PPMWriter.h Switch.h Trace.h TransferFunction.h nanovis.h CmdProc.h LIC.h Unirect.h Volume.h VelocityArrowsSlice.h $(VRMATH_DIR)/include/vrmath/Vector3f.h FlowParticles.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 GradientFilter.o: GradientFilter.cpp GradientFilter.h Grid.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 HeightMap.o: HeightMap.cpp HeightMap.h Shader.h LIC.o: LIC.cpp LIC.h Shader.h OrientationIndicator.o: OrientationIndicator.cpp OrientationIndicator.h ParticleAdvectionShader.o: ParticleAdvectionShader.cpp ParticleAdvectionShader.h Shader.h ParticleEmitter.o: ParticleEmitter.cpp ParticleEmitter.h ParticleRenderer.o: ParticleRenderer.cpp ParticleRenderer.h ParticleSystem.o: ParticleSystem.cpp ParticleSystem.h ParticleSystemFactory.o: ParticleSystemFactory.cpp ParticleSystemFactory.h PCASplit.o: PCASplit.cpp PCASplit.h PerfQuery.o: PerfQuery.cpp PerfQuery.h Plane.o: Plane.cpp Plane.h $(VRMATH_DIR)/include/vrmath/Vector4f.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h PlaneRenderer.o: PlaneRenderer.cpp PlaneRenderer.h PointSet.o: PointSet.cpp PointSet.h PointSetRenderer.o: PointSetRenderer.cpp PointSetRenderer.h PointShader.o: PointShader.cpp PointShader.h PPMWriter.o: PPMWriter.cpp PPMWriter.h ReaderCommon.o: ReaderCommon.cpp ReaderCommon.h GradientFilter.h $(VRMATH_DIR)/include/vrmath/Vector3f.h RegularVolumeShader.o: RegularVolumeShader.cpp RegularVolumeShader.h VolumeShader.h Shader.h RenderVertexArray.o: RenderVertexArray.cpp RenderVertexArray.h Shader.o: Shader.cpp Shader.h config.h ShaderGL.o: ShaderGL.cpp ShaderGL.h StdVertexShader.o: StdVertexShader.cpp StdVertexShader.h Shader.h Switch.o: Switch.cpp Switch.h Texture1D.o: Texture1D.cpp Texture1D.h Texture2D.o: Texture2D.cpp Texture2D.h config.h define.h Texture3D.o: Texture3D.cpp Texture3D.h config.h define.h Trace.o: Trace.cpp Trace.h TransferFunction.o: TransferFunction.cpp Unirect.o: Unirect.cpp Unirect.h Command.h Trace.h VelocityArrowsSlice.o: VelocityArrowsSlice.cpp VelocityArrowsSlice.h nanovis.h Camera.h Volume.h Shader.h Volume.o: Volume.cpp Volume.h config.h define.h VolumeInterpolator.o: VolumeInterpolator.cpp VolumeInterpolator.h Volume.h VolumeRenderer.o: VolumeRenderer.cpp VolumeRenderer.h ConvexPolygon.h Volume.h nanovis.h Trace.h Plane.h StdVertexShader.h Shader.h VolumeShader.o: VolumeShader.cpp VolumeShader.h Shader.h VtkDataSetReader.o: VtkDataSetReader.cpp VtkDataSetReader.h DataSetResample.h $(VRMATH_DIR)/include/vrmath/Vector3f.h ReaderCommon.h Trace.h Volume.h nanovis.h config.h VtkReader.o: VtkReader.h Trace.h Volume.h $(VRMATH_DIR)/include/vrmath/Vector3f.h ReaderCommon.h nanovis.h config.h ZincBlendeReconstructor.o: ZincBlendeReconstructor.cpp ZincBlendeReconstructor.h ZincBlendeVolume.h Volume.h $(VRMATH_DIR)/include/vrmath/Vector3f.h ZincBlendeVolume.o: ZincBlendeVolume.cpp ZincBlendeVolume.h config.h define.h ZincBlendeVolumeShader.o: ZincBlendeVolumeShader.cpp ZincBlendeVolumeShader.h VolumeShader.h Shader.h dxReader.o: dxReader.cpp ReaderCommon.h config.h nanovis.h Unirect.h ZincBlendeVolume.h ZincBlendeReconstructor.h md5.o: md5.h nanovis.o: nanovis.cpp nanovis.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 nanovisServer.o: nanovisServer.cpp nanovisServer.h config.h nanovis.h define.h Command.h PPMWriter.h ReadBuffer.h Shader.h ResponseQueue.h Trace.h