Update to 2.0.0 tree from current Fremantle build
[opencv] / interfaces / swig / octave / Makefile.am
1 CV_INCLUDES = -I$(top_srcdir)/include/opencv -I$(srcdir)
2
3 AM_CPPFLAGS = \
4   $(CV_INCLUDES)                     \
5   -DCV_NO_BACKWARD_COMPATIBILITY
6
7 AM_CXXFLAGS = @OCT_CXXFLAGS@
8
9 EXTRA_DIST = \
10   \
11   CMakeLists.txt   \
12   \
13   DESCRIPTION      \
14   INDEX            \
15   PKG_ADD_template \
16   COPYING          \
17   \
18   opencv.m         \
19   \
20   adapters.i       \
21   cvaliases.i      \
22   cvarr.i          \
23   cv.i             \
24   cvseq.i          \
25   cvshadow.i       \
26   highgui.i        \
27   imagedata.i      \
28   ml.i             \
29   octhelpers.i     \
30   octtypemaps.i    \
31   \
32   cvshadow.h       \
33   octerror.h       \
34   octcvseq.hpp     \
35   octhelpers.h     \
36   \
37   cv_wrap.cpp      \
38   ml_wrap.cpp      \
39   highgui_wrap.cpp \
40   cvshadow.cpp     \
41   octerror.cpp     \
42   octhelpers.cpp
43
44
45 # SWIG #######################################################################
46
47 # the following rules keep wrappers up to date, if SWIG is present
48 if UPDATE_SWIG_WRAPPERS
49
50 # this rule creates the octave wrapper sources for cxcore and cv
51 cv_wrap.cpp: cv.i imagedata.i cvarr.i octhelpers.i              \
52          octtypemaps.i cvshadow.i cvseq.i                       \
53          octerror.cpp octerror.h                                \
54          octhelpers.h cvshadow.h octcvseq.hpp                   \
55          $(top_srcdir)/interfaces/swig/general/cv.i             \
56          $(top_srcdir)/interfaces/swig/general/memory.i         \
57          $(top_srcdir)/interfaces/swig/general/typemaps.i       \
58          $(top_srcdir)/interfaces/swig/general/extensions.i     \
59          $(top_srcdir)/interfaces/swig/general/doublepointers.i \
60          $(top_srcdir)/interfaces/swig/general/sizeof.i         \
61          $(top_srcdir)/interfaces/swig/general/cvmacros.i       \
62          ../filtered/cv.h            \
63          ../filtered/constants.h     \
64          Makefile.in
65         $(SWIG) $(SWIG_OCTAVE_OPT) $(CV_INCLUDES) -o $@ $<
66
67 # this rule creates the octave wrapper sources for ml
68 ml_wrap.cpp: ml.i octtypemaps.i                                 \
69               $(top_srcdir)/interfaces/swig/general/typemaps.i  \
70               $(top_srcdir)/interfaces/swig/general/memory.i    \
71               $(top_srcdir)/include/opencv/ml.h                 \
72               Makefile.in
73         $(SWIG) $(SWIG_OCTAVE_OPT) $(CV_INCLUDES) -DSKIP_INCLUDES -o $@ $<
74
75 # this rule creates the octave wrapper sources for highgui
76 highgui_wrap.cpp: highgui.i octtypemaps.i adapters.i            \
77               $(top_srcdir)/interfaces/swig/general/highgui.i   \
78               $(top_srcdir)/interfaces/swig/general/typemaps.i  \
79               $(top_srcdir)/interfaces/swig/general/memory.i    \
80               $(top_srcdir)/include/opencv/highgui.h            \
81               Makefile.in
82         $(SWIG) $(SWIG_OCTAVE_OPT) $(CV_INCLUDES) -DSKIP_INCLUDES -o $@ $<
83
84 endif
85
86
87 # Conditional targets #######################################################
88
89 if BUILD_OCTAVE_WRAPPERS
90
91 OCTAVE_PKG_VERSION=1.0 #$(shell egrep '^Version: ' $(top_srcdir)/interfaces/swig/octave/DESCRIPTION|sed -e 's/Version: //')
92
93 PKG_NAME=opencv-1.1.0
94 PKG_OCT_FILES = cv.oct ml.oct highgui.oct
95 PKG_OTHER_FILES = $(srcdir)/COPYING $(srcdir)/DESCRIPTION $(srcdir)/INDEX $(srcdir)/PKG_ADD_template
96
97 octavedir=$(pkgdatadir)/octave
98 nodist_octave_DATA = opencv-1.1.0.tar.gz
99
100 opencv-1.1.0.tar.gz: $(PKG_OCT_FILES) $(PKG_OTHER_FILES)
101         mkdir -p $(PKG_NAME)
102         mkdir -p $(PKG_NAME)/inst/$(OCTAVE_ARCH)
103         cp -rf $(PKG_OTHER_FILES) $(PKG_NAME)
104         mv $(PKG_NAME)/PKG_ADD_template $(PKG_NAME)/PKG_ADD
105         cp -rf $(PKG_OCT_FILES) $(PKG_NAME)/inst/$(OCTAVE_ARCH)
106         tar cpzvf $@ $(PKG_NAME)
107         rm -rf $(PKG_NAME)
108
109 # seems that mkoctfile has some troubles compiling the wrapper... it takes forever
110 # workaround is to use the g++ directly
111 #MY_MKOCTFILE=$(CXX) -O0 -g -shared $(OCTAVE_INCFLAGS)
112
113 cv.oct: cv_wrap.cpp cvshadow.cpp octerror.cpp octhelpers.cpp
114         $(MKOCTFILE) -o $@ $(AM_CPPFLAGS) $(OCTAVE_INCFLAGS) -L$(top_builddir)/src/.libs -lcv -lcxcore $^
115 ml.oct: ml_wrap.cpp octhelpers.cpp
116         $(MKOCTFILE) -o $@ $(AM_CPPFLAGS) $(OCTAVE_INCFLAGS) -L$(top_builddir)/src/.libs -lml -lcxcore $^
117 highgui.oct: highgui_wrap.cpp octhelpers.cpp
118         $(MKOCTFILE) -o $@ $(AM_CPPFLAGS) $(OCTAVE_INCFLAGS) -L$(top_builddir)/src/.libs -lhighgui -lcxcore $^
119
120 endif
121
122 clean-local:
123         rm -rf opencv-1.1.0.tar.gz *.oct