SHELL = /bin/sh #.SUFFIX: #SUFFIX: .c .o .cpp .PHONY: all install clean distclean bindir = @bindir@ datadir = @datadir@ datarootdir = @datarootdir@ exec_prefix = @exec_prefix@ includedir = @includedir@ libdir = @libdir@ mandir = @mandir@ prefix = @prefix@ srcdir = @srcdir@ VPATH = $(srcdir) INSTALL = @INSTALL@ #Why are these files installed owner writable? INSTALL_PROGRAM = ${INSTALL} -m 555 INSTALL_DATA = ${INSTALL} -m 444 INSTALL_SCRIPT = ${INSTALL} -m 444 RM = rm -f AUXSRC = config.h define.h global.h DX_DIR = @DX_DIR@ DX_INC_SPEC = -I$(DX_DIR)/include DX_LIB_SPEC = -L$(DX_DIR)/lib_linux -lDXcallm -lm GL_INC_SPEC = -I/usr/include/GL GL_LIB_SPEC = -lGL -lglut -lglui -lGLEW -lCg -lCgGL -lpthread 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) R2_DIR = ./R2 R2_INC_SPEC = -I$(srcdir)/$(R2_DIR)/include R2_LIB = $(R2_DIR)/src/R2.a R2_LIB_SPEC = $(R2_LIB) RP_DIR = @RP_DIR@ RP_INC_SPEC = -I$(RP_DIR)/include -I$(RP_DIR)/include/rappture2 RP_LIB_SPEC = -L$(RP_DIR)/lib -lrappture2 -lb64 -lz TF_DIR = ./transfer-function TF_INC_SPEC = -I$(TF_DIR) TF_LIB = $(TF_DIR)/transfer-function.a TF_LIB_SPEC = $(TF_LIB) LIBS = \ $(RP_LIB_SPEC) \ $(DX_LIB_SPEC) \ $(IMG_LIB_SPEC) \ $(R2_LIB_SPEC) \ $(TF_LIB_SPEC) \ $(MAT_LIB_SPEC) \ -ltcl8.4 \ $(GL_LIB_SPEC) INCLUDES = \ -I$(srcdir) \ $(RP_INC_SPEC) \ $(GL_INC_SPEC) \ $(R2_INC_SPEC) \ $(IMG_INC_SPEC) \ $(MAT_INC_SPEC) CC = @CC@ CFLAGS = @CFLAGS@ EXTRA_CFLAGS = -Wall DEFINES = @DEFINES@ CC_SWITCHES = $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) OBJS = \ Axis.o \ BucketSort.o \ Chain.o \ CmdProc.o \ Color.o \ Command.o \ ContourLineFilter.o \ ConvexPolygon.o \ Event.o \ GradientFilter.o \ Grid.o \ HeightMap.o \ Mat4x4.o \ Nv.o \ NvCamera.o \ NvColorTableRenderer.o \ NvColorTableShader.o \ NvDefaultTFData.o \ NvEventLog.o \ NvLIC.o \ NvLoadFile.o \ NvParticleAdvectionShader.o \ NvParticleRenderer.o \ NvRegularVolumeShader.o \ NvShader.o \ NvStdVertexShader.o \ NvVolumeShader.o \ NvZincBlendeReconstructor.o \ NvZincBlendeVolumeShader.o \ PCASplit.o \ PerfQuery.o \ Plane.o \ PlaneRenderer.o \ PointSet.o \ PointSetRenderer.o \ PointShader.o \ RenderContext.o \ RenderVertexArray.o \ Renderable.o \ RpDX.o \ ScreenSnapper.o \ Sphere.o \ Texture1D.o \ Texture2D.o \ Texture3D.o \ Trace.o \ TransferFunction.o \ Util.o \ Vector3.o \ Vector4.o \ Volume.o \ VolumeInterpolator.o \ VolumeRenderer.o \ ZincBlendeVolume.o \ dxReader.o \ dxReader2.o \ dxReaderCommon.o \ nanovis.o resources = \ $(srcdir)/resources/Font.bmp \ $(srcdir)/resources/particle2.bmp \ $(srcdir)/resources/verdana.fnt \ $(srcdir)/resources/verdana_bold.fnt shaders = \ $(srcdir)/shaders/common.cg \ $(srcdir)/shaders/copy_texcoord.cg \ $(srcdir)/shaders/heightcolor.cg \ $(srcdir)/shaders/one_plane.cg \ $(srcdir)/shaders/one_volume.cg \ $(srcdir)/shaders/passthru.cg \ $(srcdir)/shaders/pointsvp.cg \ $(srcdir)/shaders/render_vel.cg \ $(srcdir)/shaders/update_pos.cg \ $(srcdir)/shaders/update_pos_vel.cg \ $(srcdir)/shaders/update_vel.cg \ $(srcdir)/shaders/vertex_std.cg \ $(srcdir)/shaders/volqd_volume.cg \ $(srcdir)/shaders/zincblende_volume.cg all: nanovis install: install-nanovis install-resources install-shaders $(MAT_LIB): $(MAKE) -C $(MAT_DIR) all $(R2_LIB): $(MAKE) -C $(R2_DIR)/src all $(IMG_LIB): $(MAKE) -C $(IMG_DIR) all $(TF_LIB): $(MAKE) -C $(TF_DIR) all nanovis: $(MAT_LIB) $(R2_LIB) $(IMG_LIB) $(TF_LIB) $(OBJS) $(CC) $(CC_SWITCHES) -o $@ $^ $(LIBS) .cpp.o: $(CC) $(CC_SWITCHES) -o $@ -c $< dxReader2.o: $(srcdir)/dxReader2.cpp $(CC) -c $(CC_SWITCHES) $(DX_INC_SPEC) $? RpDX.o: $(srcdir)/RpDX.cpp $(CC) -c $(CC_SWITCHES) $(DX_INC_SPEC) $? client: Socket.o ClientSocket.o RenderClient.o Event.o $(CC) $(CC_SWITCHES) -o $@ $^ $(LIBS) Socket.o: socket/Socket.cpp socket/Socket.h $(CC) $(CC_SWITCHES) -o $@ -c $< ClientSocket.o: socket/ClientSocket.cpp socket/ClientSocket.h $(CC) $(CC_SWITCHES) -o $@ -c $< RenderClient.o: socket/RenderClient.cpp socket/RenderClient.h $(CC) $(CC_SWITCHES) -o $@ -c $< install-resources: $(INSTALL) -d $(libdir)/resources @for i in $(resources) ; do \ echo "installing $$i..." ; \ $(INSTALL_DATA) -m 0444 $$i $(libdir)/resources ; \ done install-shaders: $(INSTALL) -d $(libdir)/shaders @for i in $(shaders) ; do \ echo "installing $$i..." ; \ $(INSTALL_DATA) -m 0444 $$i $(libdir)/shaders ; \ done install-nanovis: nanovis $(INSTALL) -m 0555 nanovis $(bindir) @if test "$(RP_DIR)/bin" != "$(bindir)" ; then \ $(INSTALL) -d $(bindir) ; \ $(INSTALL_PROGRAM) $(RP_DIR)/bin/voronoi $(bindir) ; \ fi @if test "$(RP_DIR)/lib" != "$(libdir)" ; then \ $(INSTALL) -d $(libdir) ; \ $(INSTALL_DATA) $(RP_DIR)/lib/librappture2.so $(libdir) ; \ $(INSTALL_DATA) $(RP_DIR)/lib/libz.so $(libdir) ; \ $(INSTALL_DATA) $(RP_DIR)/lib/libb64.so $(libdir) ; \ fi clean: $(MAKE) -C $(MAT_DIR) clean $(MAKE) -C $(R2_DIR)/src clean $(MAKE) -C $(IMG_DIR) clean $(MAKE) -C $(TF_DIR) clean $(RM) nanovis client $(OBJS) distclean: clean $(RM) Makefile *~ NvStdVertexShader.o: NvStdVertexShader.cpp NvStdVertexShader.h ContourLineFilter.o: ContourLineFilter.cpp ContourLineFilter.h HeightMap.o: HeightMap.cpp HeightMap.h Grid.o: Grid.cpp Grid.h NvLoadFile.o: NvLoadFile.cpp NvLoadFile.h NvParticleAdvectionShader.o: NvParticleAdvectionShader.cpp NvParticleAdvectionShader.h NvParticleRenderer.o: NvParticleRenderer.cpp NvParticleRenderer.h NvColorTableShader.o: NvColorTableShader.cpp NvColorTableShader.h NvLIC.o: NvLIC.cpp NvLIC.h NvColorTableRenderer.o: NvColorTableRenderer.cpp NvColorTableRenderer.h NvEventLog.o: NvEventLog.cpp NvEventLog.h NvShader.o: NvShader.cpp NvShader.h NvVolumeShader.o: NvVolumeShader.cpp NvVolumeShader.h NvDefaultTFData.o: NvDefaultTFData.cpp NvRegularVolumeShader.o: NvRegularVolumeShader.cpp NvRegularVolumeShader.h NvZincBlendeVolumeShader.o: NvZincBlendeVolumeShader.cpp NvZincBlendeVolumeShader.h RenderVertexArray.o: RenderVertexArray.cpp RenderVertexArray.h Color.o: Color.cpp Color.h Event.o: Event.cpp Event.h Sphere.o: Sphere.cpp Sphere.h TransferFunction.o: TransferFunction.cpp Texture1D.o: Texture1D.cpp Texture1D.h Texture2D.o: Texture2D.cpp Texture2D.h $(AUXSRC) Texture3D.o: Texture3D.cpp Texture3D.h $(AUXSRC) Renderable.o: Renderable.cpp Renderable.h NvCamera.o: NvCamera.cpp NvCamera.h ScreenSnapper.o: ScreenSnapper.cpp ScreenSnapper.h define.h Volume.o: Volume.cpp Volume.h $(AUXSRC) ZincBlendeVolume.o: ZincBlendeVolume.cpp ZincBlendeVolume.h $(AUXSRC) VolumeRenderer.o: VolumeRenderer.cpp VolumeRenderer.h PlaneRenderer.o: PlaneRenderer.cpp PlaneRenderer.h Mat4x4.o: Mat4x4.cpp Mat4x4.h Vector4.o: Vector4.cpp Vector4.h Vector3.o: Vector3.cpp Vector3.h Plane.o: Plane.cpp Plane.h ConvexPolygon.o: ConvexPolygon.cpp ConvexPolygon.h PerfQuery.o: PerfQuery.cpp PerfQuery.h PointShader.o: PointShader.cpp PointShader.h PCASplit.o: PCASplit.cpp PCASplit.h BucketSort.o: BucketSort.cpp BucketSort.h PointSetRenderer.o: PointSetRenderer.cpp PointSetRenderer.h PointSet.o: PointSet.cpp PointSet.h RenderContext.o: RenderContext.cpp RenderContext.h VolumeInterpolator.o: VolumeInterpolator.cpp VolumeInterpolator.h GradientFilter.o: GradientFilter.cpp GradientFilter.h Util.o: Util.cpp Util.h Command.o: Command.cpp Command.h Trace.o: Trace.cpp Trace.h nanovis.o: nanovis.cpp nanovis.h $(AUXSRC)