TRACE = #yes USE_POINTSET_RENDERER = #yes USE_PARTICLE_SYSTEM = #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 = -lglut -lGLEW -lGLU -lGL 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) EXTRA_LIBS = -lm -lpthread RP_DIR = @RP_DIR@ RP_INC_SPEC = -I$(RP_DIR)/include -I$(RP_DIR)/include/rappture2 RP_LIB_SPEC = -L$(RP_DIR)/lib -lrappture2 -lrappture -lexpat -lz TCL_LIB_SPEC = @TCL_LIB_SPEC@ TCL_INC_SPEC = @TCL_INC_SPEC@ LD_RUN_PATH = $(libdir):@LD_RPATH@ SVN_VERSION = $(shell svnversion $(srcdir)) STATSDIR = @STATSDIR@ LIBS = \ $(RP_LIB_SPEC) \ $(TCL_LIB_SPEC) \ $(CG_LIB_SPEC) \ $(GL_LIB_SPEC) \ $(EXTRA_LIBS) \ -Wl,-rpath,$(LD_RUN_PATH) STATIC_LIBS = \ $(GRAPHICS_LIB) \ $(IMG_LIB) \ $(UTIL_LIB) \ $(VRMATH_LIB) INCLUDES = \ -I. \ -I$(srcdir) \ $(IMG_INC_SPEC) \ $(VRMATH_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_POINTSET_RENDERER DEFINES += -DUSE_POINTSET_RENDERER endif CXX_SWITCHES = $(CFLAGS) $(EXTRA_CFLAGS) $(DEFINES) $(INCLUDES) OBJS = \ Axis.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 \ ParticleAdvectionShader.o \ ParticleRenderer.o \ PerfQuery.o \ Plane.o \ PlaneRenderer.o \ ReadBuffer.o \ ReaderCommon.o \ RegularVolumeShader.o \ RenderVertexArray.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 \ VtkReader.o \ ZincBlendeReconstructor.o \ ZincBlendeVolume.o \ ZincBlendeVolumeShader.o \ dxReader.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_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 STATIC_LIBS += $(MAT_LIB) INCLUDES += $(MAT_INC_SPEC) shaders += $(srcdir)/shaders/pointsvp.cg endif .PHONY: all install install-resources install-shaders install-nanovis docs clean-docs clean distclean graphics imgloaders newmat11 util vrmath all: 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: $(OBJS) $(STATIC_LIBS) $(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 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 nanovisServer.h ReadBuffer.h config.h define.h FlowCmd.h CmdProc.h Trace.h PlaneRenderer.h dxReader.h Grid.h HeightMap.h Camera.h ZincBlendeReconstructor.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 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