source: nanovis/branches/1.1/Makefile.in @ 4599

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

Refactor and cleanups in nanovis, mainly to switch to using STL hash tables
(TR1 required) instead of Tcl hash tables, split out Flow particles and boxes
to separate implementation files. The goal is to achieve better separation of
Tcl command parsing and the core graphics rendering objects and code.

File size: 10.5 KB
Line 
1TRACE           = #yes
2
3SHELL = /bin/sh
4
5bindir          = @bindir@
6datadir         = @datadir@
7datarootdir     = @datarootdir@
8exec_prefix     = @exec_prefix@
9includedir      = @includedir@
10libdir          = @libdir@
11mandir          = @mandir@
12prefix          = @prefix@
13srcdir          = @srcdir@
14
15VPATH           = $(srcdir)
16
17INSTALL         = @INSTALL@
18MKDIR_P         = @MKDIR_P@
19
20#Why are these files installed owner writable?
21INSTALL_PROGRAM = ${INSTALL} -m 0555
22INSTALL_DATA    = ${INSTALL} -m 0444
23INSTALL_SCRIPT  = ${INSTALL} -m 0444
24RM              = rm -f
25
26AUXSRC          = config.h define.h
27
28CG_INC_SPEC     = @CG_INC_SPEC@
29CG_LIB_SPEC     = @CG_LIB_SPEC@
30
31GL_INC_SPEC     =
32GL_LIB_SPEC     = -lGL -lglut -lGLEW -lGLU
33GRAPHICS_DIR      = ./graphics
34GRAPHICS_INC_SPEC = -I$(srcdir)/$(GRAPHICS_DIR)/include
35GRAPHICS_LIB      = $(GRAPHICS_DIR)/nvgraphics.a
36GRAPHICS_LIB_SPEC = $(GRAPHICS_LIB)
37IMG_DIR         = ./imgLoaders
38IMG_INC_SPEC    = -I$(srcdir)/$(IMG_DIR)
39IMG_LIB         = $(IMG_DIR)/ImageLoaders.a
40IMG_LIB_SPEC    = $(IMG_LIB)
41MAT_DIR         = ./newmat11
42MAT_INC_SPEC    = -I$(srcdir)/$(MAT_DIR)
43MAT_LIB         = $(MAT_DIR)/newmat11.a
44MAT_LIB_SPEC    = $(MAT_LIB)
45UTIL_DIR        = ./util
46UTIL_INC_SPEC   = -I$(srcdir)/$(UTIL_DIR)
47UTIL_LIB        = $(UTIL_DIR)/nvutil.a
48UTIL_LIB_SPEC   = $(UTIL_LIB)
49VRMATH_DIR      = ./vrmath
50VRMATH_INC_SPEC = -I$(srcdir)/$(VRMATH_DIR)/include
51VRMATH_LIB      = $(VRMATH_DIR)/vrmath.a
52VRMATH_LIB_SPEC = $(VRMATH_LIB)
53
54EXTRA_LIBS      = -lm -lpthread
55RP_DIR          =  @RP_DIR@
56RP_INC_SPEC     = -I$(RP_DIR)/include -I$(RP_DIR)/include/rappture2
57RP_LIB_SPEC     = -L$(RP_DIR)/lib -lrappture2 -lrappture -lexpat -lz
58
59TCL_LIB_SPEC    = @TCL_LIB_SPEC@
60TCL_INC_SPEC    = @TCL_INC_SPEC@
61
62LD_RUN_PATH     = $(libdir):@LD_RPATH@
63
64SVN_VERSION     = $(shell svnversion $(srcdir))
65STATSDIR        = @STATSDIR@
66
67LIBS            = \
68                $(RP_LIB_SPEC) \
69                $(GRAPHICS_LIB_SPEC) \
70                $(IMG_LIB_SPEC) \
71                $(MAT_LIB_SPEC) \
72                $(UTIL_LIB_SPEC) \
73                $(VRMATH_LIB_SPEC) \
74                $(TCL_LIB_SPEC) \
75                $(CG_LIB_SPEC) \
76                $(GL_LIB_SPEC) \
77                $(EXTRA_LIBS) \
78                -Wl,-rpath,$(LD_RUN_PATH)
79
80INCLUDES        = \
81                -I. \
82                -I$(srcdir) \
83                $(IMG_INC_SPEC) \
84                $(MAT_INC_SPEC) \
85                $(VRMATH_INC_SPEC) \
86                $(TCL_INC_SPEC) \
87                $(CG_INC_SPEC) \
88                $(GL_INC_SPEC) \
89                $(RP_INC_SPEC)
90
91USE_POINTSET_RENDERER = #yes
92
93CC              = @CC@
94CXX             = @CXX@
95CFLAGS          = @CFLAGS@
96EXTRA_CFLAGS    = -Wall
97DEFINES         = -DSVN_VERSION=\"$(SVN_VERSION)\" -DSTATSDIR=\"$(STATSDIR)\"
98ifdef TRACE
99DEFINES         += -DWANT_TRACE
100endif
101ifdef USE_POINTSET_RENDERER
102DEFINES         += -DUSE_POINTSET_RENDERER
103endif
104CXX_SWITCHES    = $(CFLAGS) $(EXTRA_CFLAGS) $(DEFINES) $(INCLUDES)
105
106OBJS            = \
107                Axis.o \
108                Chain.o \
109                CmdProc.o \
110                Command.o \
111                ContourLineFilter.o \
112                ConvexPolygon.o \
113                FlowBox.o \
114                FlowCmd.o \
115                FlowParticles.o \
116                GradientFilter.o \
117                Grid.o \
118                HeightMap.o \
119                NvCamera.o \
120                NvColorTableRenderer.o \
121                NvColorTableShader.o \
122                NvLIC.o \
123                NvParticleAdvectionShader.o \
124                NvParticleRenderer.o \
125                NvRegularVolumeShader.o \
126                NvShader.o \
127                NvStdVertexShader.o \
128                NvVectorField.o \
129                NvVolumeShader.o \
130                NvZincBlendeReconstructor.o \
131                NvZincBlendeVolumeShader.o \
132                PerfQuery.o \
133                Plane.o \
134                PlaneRenderer.o \
135                ReaderCommon.o \
136                RenderVertexArray.o \
137                Switch.o \
138                Texture1D.o \
139                Texture2D.o \
140                Texture3D.o \
141                Trace.o \
142                TransferFunction.o \
143                Unirect.o \
144                VelocityArrowsSlice.o \
145                Volume.o \
146                VolumeInterpolator.o \
147                VolumeRenderer.o \
148                VtkReader.o \
149                ZincBlendeVolume.o \
150                dxReader.o \
151                nanovis.o \
152                md5.o
153
154resources       = \
155                $(srcdir)/resources/arrows.bmp \
156                $(srcdir)/resources/particle2.bmp \
157                $(srcdir)/resources/verdana.fnt \
158                $(srcdir)/resources/verdana_bold.fnt
159
160shaders         = \
161                $(srcdir)/shaders/common.cg \
162                $(srcdir)/shaders/cutplane_fp.cg \
163                $(srcdir)/shaders/cutplane_vp.cg \
164                $(srcdir)/shaders/heightcolor.cg \
165                $(srcdir)/shaders/one_plane.cg \
166                $(srcdir)/shaders/one_volume.cg \
167                $(srcdir)/shaders/particle_common.cg \
168                $(srcdir)/shaders/queryvelocity.cg \
169                $(srcdir)/shaders/render_vel.cg \
170                $(srcdir)/shaders/update_pos.cg \
171                $(srcdir)/shaders/velocityslicefp.cg \
172                $(srcdir)/shaders/velocityslicevp.cg \
173                $(srcdir)/shaders/vertex_std.cg \
174                $(srcdir)/shaders/zincblende_volume.cg
175
176ifdef NOTDEF
177OBJS +=         NvFlowVisRenderer.o \
178                ParticleEmitter.o \
179                ParticleSystem.o \
180                ParticleSystemFactory.o
181
182shaders +=      $(srcdir)/shaders/passthrough.cg \
183                $(srcdir)/shaders/distance.cg \
184                $(srcdir)/shaders/mergesort.cg \
185                $(srcdir)/shaders/moveparticles.cg \
186                $(srcdir)/shaders/particlefp.cg \
187                $(srcdir)/shaders/particlevp.cg
188endif
189
190ifdef USE_POINTSET_RENDERER
191OBJS +=         BucketSort.o \
192                PCASplit.o \
193                PointSet.o \
194                PointSetRenderer.o \
195                PointShader.o
196
197shaders +=      $(srcdir)/shaders/pointsvp.cg
198endif
199
200.PHONY: all install install-resources install-shaders install-nanovis docs clean-docs clean distclean graphics imgloaders newmat11 util vrmath
201
202all: newmat11 graphics imgloaders util vrmath nanovis
203
204install: install-nanovis install-resources install-shaders
205
206docs:
207        $(MKDIR_P) -m 0755 docs/doxygen
208        doxygen
209
210graphics:               $(GRAPHICS_LIB)
211imgloaders:             $(IMG_LIB)
212newmat11:               $(MAT_LIB)
213util:                   $(UTIL_LIB)
214vrmath:                 $(VRMATH_LIB)
215
216$(GRAPHICS_LIB):
217        $(MAKE) -C $(GRAPHICS_DIR) all
218
219$(IMG_LIB):
220        $(MAKE) -C $(IMG_DIR) all
221
222$(MAT_LIB):
223        $(MAKE) -C $(MAT_DIR) all
224
225$(UTIL_LIB):
226        $(MAKE) -C $(UTIL_DIR) all
227
228$(VRMATH_LIB):
229        $(MAKE) -C $(VRMATH_DIR) all
230
231nanovis: $(MAT_LIB) $(GRAPHICS_LIB) $(IMG_LIB) $(UTIL_LIB) $(VRMATH_LIB) $(OBJS)
232        $(CXX) $(CXX_SWITCHES) -o $@ $^ $(LIBS)
233
234.cpp.o:
235        $(CXX) $(CXX_SWITCHES) -o $@ -c $<
236
237install-resources:
238        $(MKDIR_P) $(libdir)/resources
239        @for i in $(resources) ; do \
240            echo "installing $$i..." ; \
241            $(INSTALL_DATA) $$i $(libdir)/resources ; \
242        done
243
244install-shaders:
245        $(MKDIR_P) $(libdir)/shaders
246        @for i in $(shaders) ; do \
247            echo "installing $$i..." ; \
248            $(INSTALL_DATA) $$i $(libdir)/shaders ; \
249        done
250
251install-nanovis: nanovis
252        $(INSTALL_PROGRAM) nanovis $(bindir)
253
254clean:
255        $(MAKE) -C $(MAT_DIR) clean
256        $(MAKE) -C $(GRAPHICS_DIR) clean
257        $(MAKE) -C $(IMG_DIR) clean
258        $(MAKE) -C $(UTIL_DIR) clean
259        $(MAKE) -C $(VRMATH_DIR) clean
260        $(RM) nanovis client *.o
261
262clean-docs:
263        $(RM) -r docs
264
265distclean: clean clean-docs
266        $(MAKE) -C $(MAT_DIR) distclean
267        $(MAKE) -C $(GRAPHICS_DIR) distclean
268        $(MAKE) -C $(IMG_DIR) distclean
269        $(MAKE) -C $(UTIL_DIR) distclean
270        $(MAKE) -C $(VRMATH_DIR) distclean
271        $(RM) Makefile nvconf.h *~
272
273Axis.o: Axis.cpp Axis.h Chain.h
274BucketSort.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
275Chain.o: Chain.cpp Chain.h
276CmdProc.o: CmdProc.cpp CmdProc.h
277Command.o: Command.cpp nanovis.h $(AUXSRC) CmdProc.h Trace.h PlaneRenderer.h PointSet.h dxReader.h Grid.h HeightMap.h NvCamera.h NvZincBlendeReconstructor.h Unirect.h Volume.h VolumeRenderer.h
278ContourLineFilter.o: ContourLineFilter.cpp ContourLineFilter.h
279ConvexPolygon.o: ConvexPolygon.cpp ConvexPolygon.h $(VRMATH_DIR)/include/vrmath/Vector4f.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h Plane.h
280FlowBox.o: 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
281FlowCmd.o: FlowCmd.cpp FlowCmd.h FlowParticles.h FlowBox.h FlowTypes.h Switch.h Trace.h TransferFunction.h nanovis.h CmdProc.h NvLIC.h Unirect.h Volume.h VelocityArrowsSlice.h $(VRMATH_DIR)/include/vrmath/Vector3f.h
282FlowParticles.o: FlowParticles.h FlowTypes.h FlowCmd.h Switch.h Trace.h NvParticleRenderer.h Volume.h $(VRMATH_DIR)/include/vrmath/Vector3f.h $(VRMATH_DIR)/include/vrmath/Vector4f.h
283GradientFilter.o: GradientFilter.cpp GradientFilter.h
284Grid.o: Grid.cpp Grid.h Axis.h Chain.h
285HeightMap.o: HeightMap.cpp HeightMap.h
286NvCamera.o: NvCamera.cpp NvCamera.h config.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h
287NvColorTableRenderer.o: NvColorTableRenderer.cpp NvColorTableRenderer.h
288NvColorTableShader.o: NvColorTableShader.cpp NvColorTableShader.h NvShader.h
289NvFlowVisRenderer.o: NvFlowVisRenderer.cpp NvFlowVisRenderer.h
290NvLIC.o: NvLIC.cpp NvLIC.h
291NvParticleAdvectionShader.o: NvParticleAdvectionShader.cpp NvParticleAdvectionShader.h NvShader.h
292NvParticleRenderer.o: NvParticleRenderer.cpp NvParticleRenderer.h
293NvRegularVolumeShader.o: NvRegularVolumeShader.cpp NvRegularVolumeShader.h NvVolumeShader.h NvShader.h
294NvShader.o: NvShader.cpp NvShader.h
295NvStdVertexShader.o: NvStdVertexShader.cpp NvStdVertexShader.h NvShader.h
296NvVectorField.o: NvVectorField.cpp NvVectorField.h NvParticleRenderer.h
297NvVolumeShader.o: NvVolumeShader.cpp NvVolumeShader.h NvShader.h
298NvZincBlendeReconstructor.o: NvZincBlendeReconstructor.cpp NvZincBlendeReconstructor.h ZincBlendeVolume.h Volume.h $(VRMATH_DIR)/include/vrmath/Vector3f.h
299NvZincBlendeVolumeShader.o: NvZincBlendeVolumeShader.cpp NvZincBlendeVolumeShader.h NvVolumeShader.h NvShader.h
300ParticleEmitter.o: ParticleEmitter.cpp ParticleEmitter.h
301ParticleSystem.o: ParticleSystem.cpp ParticleSystem.h DataLoader.h
302ParticleSystemFactory.o: ParticleSystemFactory.cpp ParticleSystemFactory.h
303PCASplit.o: PCASplit.cpp PCASplit.h
304PerfQuery.o: PerfQuery.cpp PerfQuery.h
305Plane.o: Plane.cpp Plane.h $(VRMATH_DIR)/include/vrmath/Vector4f.h $(VRMATH_DIR)/include/vrmath/Matrix4x4d.h
306PlaneRenderer.o: PlaneRenderer.cpp PlaneRenderer.h
307PointSet.o: PointSet.cpp PointSet.h
308PointSetRenderer.o: PointSetRenderer.cpp PointSetRenderer.h
309PointShader.o: PointShader.cpp PointShader.h
310ReaderCommon.o: ReaderCommon.cpp ReaderCommon.h GradientFilter.h $(VRMATH_DIR)/include/vrmath/Vector3f.h
311RenderVertexArray.o: RenderVertexArray.cpp RenderVertexArray.h
312Switch.o: Switch.cpp Switch.h
313Texture1D.o: Texture1D.cpp Texture1D.h
314Texture2D.o: Texture2D.cpp Texture2D.h $(AUXSRC)
315Texture3D.o: Texture3D.cpp Texture3D.h $(AUXSRC)
316Trace.o: Trace.cpp Trace.h
317TransferFunction.o: TransferFunction.cpp
318Unirect.o: Unirect.cpp Unirect.h Trace.h
319VelocityArrowsSlice.o: VelocityArrowsSlice.cpp VelocityArrowsSlice.h
320Volume.o: Volume.cpp Volume.h $(AUXSRC)
321VolumeInterpolator.o: VolumeInterpolator.cpp VolumeInterpolator.h Volume.h
322VolumeRenderer.o: VolumeRenderer.cpp VolumeRenderer.h
323VtkReader.o: VtkReader.h Trace.h Volume.h $(VRMATH_DIR)/include/vrmath/Vector3f.h ReaderCommon.h nanovis.h
324ZincBlendeVolume.o: ZincBlendeVolume.cpp ZincBlendeVolume.h $(AUXSRC)
325dxReader.o: dxReader.cpp ReaderCommon.h config.h nanovis.h Unirect.h ZincBlendeVolume.h NvZincBlendeReconstructor.h
326nanovis.o: nanovis.cpp nanovis.h $(AUXSRC) FlowCmd.h Grid.h HeightMap.h NvCamera.h NvColorTableRenderer.h NvFlowVisRenderer.h NvLIC.h NvZincBlendeReconstructor.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
327md5.o: md5.h
Note: See TracBrowser for help on using the repository browser.