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@ MKDIR_P = @MKDIR_P@ #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 CG_DIR = @CG_DIR@ CG_INC_SPEC = -I$(CG_DIR)/include CG_LIB_SPEC = -L$(CG_DIR)/lib -lCg -lCgGL DX_DIR = @DX_DIR@ DX_INC_SPEC = -I$(DX_DIR)/include DX_LIB_SPEC = -L$(DX_DIR)/lib_linux -lDXcallm FF_LIB_SPEC = -lavformat -lavcodec # might also need -lavutil GL_INC_SPEC = -I/usr/include/GL GL_LIB_SPEC = -lGL -lglut -lglui -lGLEW 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) 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 TF_DIR = ./transfer-function TF_INC_SPEC = -I$(TF_DIR) TF_LIB = $(TF_DIR)/transfer-function.a TF_LIB_SPEC = $(TF_LIB) TCL_LIB_SPEC = @TCL_LIB_SPEC@ TCL_INC_SPEC = @TCL_INC_SPEC@ LD_RUN_PATH = @LD_RPATH@ LIBS = \ $(RP_LIB_SPEC) \ $(DX_LIB_SPEC) \ $(FF_LIB_SPEC) \ $(IMG_LIB_SPEC) \ $(R2_LIB_SPEC) \ $(TF_LIB_SPEC) \ $(MAT_LIB_SPEC) \ $(TCL_LIB_SPEC) \ $(CG_LIB_SPEC) \ $(GL_LIB_SPEC) \ $(EXTRA_LIBS) \ -Wl,-rpath,$(LD_RUN_PATH) INCLUDES = \ -I. \ -I$(srcdir) \ $(TCL_INC_SPEC) \ $(RP_INC_SPEC) \ $(CG_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 \ RpAVTranslate.o \ RpDX.o \ ScreenSnapper.o \ Sphere.o \ Texture1D.o \ Texture2D.o \ Texture3D.o \ Trace.o \ TransferFunction.o \ Util.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: mat_lib r2_lib img_lib tf_lib nanovis install: install-nanovis install-resources install-shaders mat_lib: $(MAT_LIB) r2_lib: $(R2_LIB) img_lib: $(IMG_LIB) tf_lib: $(TF_LIB) $(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) $? RpAVTranslate.o: $(srcdir)/RpAVTranslate.cpp $(CC) -c $(CC_SWITCHES) $(FF_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: $(MKDIR_P) $(libdir)/resources @for i in $(resources) ; do \ echo "installing $$i..." ; \ $(INSTALL_DATA) -m 0444 $$i $(libdir)/resources ; \ done install-shaders: $(MKDIR_P) $(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) 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 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)