]> Creatis software - gdcm.git/blobdiff - gdcmPython/Makefile.am
* removal of class gdcmHeaderEntrySet
[gdcm.git] / gdcmPython / Makefile.am
index b60ac60f3e91a9ba9a8aac059b009b16826e928f..b2a47f35cdbe5568b64c7159fe8aabd4a9a342f4 100644 (file)
@@ -1,27 +1,74 @@
 ## Process this file with automake to produce Makefile.in
 
-## $(top_builddir) is required for idtypes.h
-GDCM_INC   = -I$(top_srcdir)/src  -I$(top_builddir)
-SWIG_INC   = $(GLIB_CFLAGS) $(PYTHON_INCLUDES) $(GDCM_INC) 
-INCLUDES   = $(GDCM_INC) $(PYTHON_INCLUDES)
+### VTK related
+VTK_INC = -I/usr/include/vtk
+LIBS_VTK=-L/usr/lib/vtk \
+         -lvtkCommon -lvtkIO -lvtkFiltering -lvtkRendering -lvtkGraphics \
+         -lvtkImaging -lvtkpng -lvtkzlib -lvtkjpeg -lvtkexpat -lvtktiff \
+         -lvtkftgl -lvtkfreetype
+LIBS_VTK_PYTHON= $(LIBS_VTK) \
+         -lvtkCommonPython -lvtkIOPython -lvtkFilteringPython \
+         -lvtkRenderingPython -lvtkGraphicsPython -lvtkImagingPython
+### Gdcm itself:
+GDCM_INC    = -I$(top_srcdir)/src  -I$(top_builddir)
+### Vtk wrappers of gdcm relate:
+VTKGDCM_DIR = $(top_srcdir)/vtk/
+VTKGDCM_INC = -I$(VTKGDCM_DIR)
+### Swig related (for wrapping Gdcm):
+SWIG_INC    = $(PYTHON_INCLUDES) $(GDCM_INC) 
 
-LIBADDS     = $(top_builddir)/src/libgdcm.la
-
-### Non default rules
+### The resulting include path:
+INCLUDES    = $(GDCM_INC) $(PYTHON_INCLUDES) $(VTK_INC) $(VTKGDCM_INC)
 
+### Since maude_LDFLAGS cannot be defined conditionaly:
 pygdcm_la_LDFLAGS = -module -avoid-version -L$(top_builddir)/src/.libs
+vtkgdcmPython_la_LDFLAGS = -module -avoid-version
 
+############################################################
 if BUILD_PYTHON
 pythondir = $(prefix)/lib/python${PYTHON_VERSION}/site-packages/gdcm
-python_LTLIBRARIES = pygdcm.la
+if BUILD_VTK
+GDCMVTKLIB = vtkgdcmPython.la
+endif
+python_LTLIBRARIES = pygdcm.la $(GDCMVTKLIB)
+
+############ Gdcm python wrappers:
 pygdcm_la_SOURCES = gdcm_wrap.cxx
-pygdcm_la_LIBADD = $(LIBADDS)
+pygdcm_la_LIBADD = $(top_builddir)/src/libgdcm.la -lstdc++
 gdcm_wrap.cxx: $(srcdir)/gdcm.i
        $(SWIG)  -python -c++ $(SWIG_INC) -o $@ $<
 
-MOSTLYCLEANFILES = $(pygdcm_la_SOURCES)
-BUILT_SOURCES = gdcm_wrap.cxx
-CLEANFILES = gdcm_wrap.cxx
+############ Vtk wrappers of Gdcm wrapped for python
+if BUILD_VTK
+PYTHON_LIB_BASENAME=vtkgdcmPython
+
+# Python wrappers
+PYTHON_WRAPPER = vtkWrapPython
+PYTHON_WRAPPER_INIT=./vtkWrapPythonInit
+PWFLAGS=hints
+
+vtkgdcmPython_la_SOURCES =  \
+       vtkGdcmReaderPython.cxx     \
+       vtkGdcmInit.cxx
+vtkgdcmPython_la_LIBADD = $(top_builddir)/vtk/libvtkgdcm.la \
+                             $(LIBS_VTK_PYTHON)
+
+vtkGdcmReaderPython.cxx: $(VTKGDCM_DIR)/vtkGdcmReader.h
+       $(PYTHON_WRAPPER) $< $(PWFLAGS) $@
+
+vtkGdcmInit.cxx : $(VTKGDCM_DIR)/vtkGdcmReader.h $(PYTHON_WRAPPER_INIT)
+       $(PYTHON_WRAPPER_INIT) $(PYTHON_LIB_BASENAME) \
+       vtkGdcmReader.h \
+       > $@
+
+$(PYTHON_WRAPPER_INIT) : vtkWrapPythonInit.c
+       gcc -o $@ $<
+endif### BUILD_PYTHON #######################################
+
+############ Automake general usage classics:
+MOSTLYCLEANFILES = $(pygdcm_la_SOURCES) $(vtkgdcmPython_la_SOURCES)
+BUILT_SOURCES =    $(pygdcm_la_SOURCES) $(vtkgdcmPython_la_SOURCES)
+CLEANFILES = gdcm_wrap.cxx gdcm.py gdcm.pyc $(PYTHON_WRAPPER_INIT)
 
 dist-hook:
        rm -f $(distdir)/gdcm_wrap.cxx