Update to 2.0.0 tree from current Fremantle build
[opencv] / src / Makefile.am
1 # This Makefile now builds everything in the src directory
2
3 # use platform native lapack libraries or the one shipped with OpenCV
4 if NATIVE_LAPACK
5   LAPACK = @LAPACK_LIBS@
6   LAPACK_INCL =
7 else
8   LAPACK = $(top_builddir)/3rdparty/lib_clapack.la
9   LAPACK_INCL = -I$(top_srcdir)/3rdparty/include
10 endif
11
12 AM_CPPFLAGS = @OPTIMIZATION_CPPFLAGS@ @DEBUG_CPPFLAGS@ -I$(top_srcdir)/include/opencv
13 AM_CXXFLAGS = @OPTIMIZATION_CXXFLAGS@ @DEBUG_CXXFLAGS@
14
15 # =========================================================================
16
17 # sources for other platforms and conditionally compiled sources
18 EXTRA_DIST = \
19   \
20   CMakeLists.txt               \
21   cv/CMakeLists.txt            \
22   cvaux/CMakeLists.txt         \
23   cxcore/CMakeLists.txt        \
24   highgui/CMakeLists.txt       \
25   ml/CMakeLists.txt            \
26   \
27   highgui/makeswig.sh          \
28   \
29   highgui/cvcap_cmu.cpp        \
30   highgui/cvcap_tyzx.cpp       \
31   highgui/cvcap_vfw.cpp        \
32   highgui/cvcap_mil.cpp        \
33   highgui/cvcap_images.cpp     \
34   highgui/window_w32.cpp       \
35   \
36   highgui/cvcap_dc1394.cpp     \
37   highgui/cvcap_dc1394_v2.cpp  \
38   highgui/cvcap_dshow.cpp      \
39   highgui/cvcap_ffmpeg.cpp     \
40   highgui/cvcap_gstreamer.cpp  \
41   highgui/cvcap_libv4l.cpp     \
42   highgui/cvcap_qt.cpp         \
43   highgui/cvcap_unicap.cpp     \
44   highgui/cvcap_v4l.cpp        \
45   highgui/cvcap_w32.cpp        \
46   highgui/cvcap_xine.cpp       \
47   highgui/gstappsink.cpp       \
48   highgui/window_carbon.cpp    \
49   highgui/window_gtk.cpp       \
50   highgui/grfmt_imageio.cpp
51
52
53 # =========================================================================
54
55 # headers that are needed at compile time of OpenCV only
56 noinst_HEADERS     = \
57   cxcore/_cxcore.h         \
58   \
59   cv/_cv.h                 \
60   cv/_cvfeaturetree.h      \
61   cv/_cvgeom.h             \
62   cv/_cvimgproc.h          \
63   cv/_cvipp.h              \
64   cv/_cvkdtree.hpp         \
65   cv/_cvlist.h             \
66   cv/_cvmatrix.h           \
67   cv/_cvmodelest.h         \
68   \
69   cvaux/_cvaux.h           \
70   cvaux/_cvfacedetection.h \
71   cvaux/_cvvectrack.h      \
72   cvaux/_cvvm.h            \
73   \
74   cvaux/cvface.h           \
75   cvaux/cvfacedetection.h  \
76   cvaux/cvfacetemplate.h   \
77   \
78   ml/_ml.h                 \
79   \
80   highgui/_highgui.h       \
81   highgui/bitstrm.h        \
82   highgui/grfmt_base.h     \
83   highgui/grfmt_bmp.h      \
84   highgui/grfmt_exr.h      \
85   highgui/grfmt_imageio.h  \
86   highgui/grfmt_jpeg.h     \
87   highgui/grfmt_jpeg2000.h \
88   highgui/grfmt_png.h      \
89   highgui/grfmt_pxm.h      \
90   highgui/grfmt_sunras.h   \
91   highgui/grfmt_tiff.h     \
92   highgui/grfmts.h         \
93   highgui/gstappsink.h     \
94   highgui/utils.h
95
96 noinst_LTLIBRARIES = lib_cxcore.la lib_cv.la lib_cvaux.la lib_ml.la lib_highgui.la
97
98 lib_LTLIBRARIES    = libcxcore.la  libcv.la  libcvaux.la  libml.la  libhighgui.la
99
100 # =========================================================================
101
102 # convenience library for cxcore
103 lib_cxcore_la_SOURCES = \
104   cxcore/cxalloc.cpp \
105   cxcore/cxarithm.cpp \
106   cxcore/cxarray.cpp \
107   cxcore/cxconvert.cpp \
108   cxcore/cxcopy.cpp \
109   cxcore/cxdatastructs.cpp \
110   cxcore/cxdrawing.cpp \
111   cxcore/cxdxt.cpp \
112   cxcore/cximage.cpp \
113   cxcore/cxlapack.cpp \
114   cxcore/cxmathfuncs.cpp \
115   cxcore/cxmatmul.cpp \
116   cxcore/cxmatrix.cpp \
117   cxcore/cxpersistence.cpp \
118   cxcore/cxrand.cpp \
119   cxcore/cxstat.cpp \
120   cxcore/cxsystem.cpp \
121   cxcore/cxtables.cpp
122 lib_cxcore_la_CPPFLAGS = $(LAPACK_INCL) $(AM_CPPFLAGS)
123 lib_cxcore_la_CXXFLAGS = @SIMD_FLAGS@ @OPENMP_CXXFLAGS@ $(AM_CXXFLAGS)
124 lib_cxcore_la_LDFLAGS  = -no-undefined @LDFLAGS@
125
126 # real library for cxcore
127 libcxcore_la_SOURCES = cxcore/cxprecomp.cpp
128 libcxcore_la_LDFLAGS = -no-undefined -Wc,@OPENMP_CXXFLAGS@ -version-info @LT_VERSION@ @LDFLAGS@
129 libcxcore_la_LIBADD  = \
130   lib_cxcore.la \
131   $(LAPACK) \
132   @LTLIBOBJS@
133
134 # =========================================================================
135
136 # convenience library for cv
137 lib_cv_la_SOURCES = \
138   cv/cvaccum.cpp \
139   cv/cvapprox.cpp \
140   cv/cvcalccontrasthistogram.cpp \
141   cv/cvcalcimagehomography.cpp \
142   cv/cvcalibinit.cpp \
143   cv/cvcalibration.cpp \
144   cv/cvcamshift.cpp \
145   cv/cvcanny.cpp \
146   cv/cvcascadedetect.cpp \
147   cv/cvcolor.cpp \
148   cv/cvcondens.cpp \
149   cv/cvcontours.cpp \
150   cv/cvcontourtree.cpp \
151   cv/cvconvhull.cpp \
152   cv/cvcorner.cpp \
153   cv/cvcornersubpix.cpp \
154   cv/cvderiv.cpp \
155   cv/cvdistransform.cpp \
156   cv/cvdominants.cpp \
157   cv/cvemd.cpp \
158   cv/cvfeatureselect.cpp \
159   cv/cvfeaturetree.cpp \
160   cv/cvfilter.cpp \
161   cv/cvfloodfill.cpp \
162   cv/cvfundam.cpp \
163   cv/cvgeometry.cpp \
164   cv/cvhaar.cpp \
165   cv/cvhistogram.cpp \
166   cv/cvhough.cpp \
167   cv/cvimgwarp.cpp \
168   cv/cvinpaint.cpp \
169   cv/cvkalman.cpp \
170   cv/cvkdtree.cpp \
171   cv/cvlinefit.cpp \
172   cv/cvlkpyramid.cpp \
173   cv/cvlsh.cpp \
174   cv/cvmatchcontours.cpp \
175   cv/cvmodelest.cpp \
176   cv/cvmoments.cpp \
177   cv/cvmorph.cpp \
178   cv/cvmotempl.cpp \
179   cv/cvmser.cpp \
180   cv/cvoptflowbm.cpp \
181   cv/cvoptflowgf.cpp \
182   cv/cvoptflowhs.cpp \
183   cv/cvoptflowlk.cpp \
184   cv/cvpgh.cpp \
185   cv/cvposit.cpp \
186   cv/cvpyramids.cpp \
187   cv/cvpyrsegmentation.cpp \
188   cv/cvrotcalipers.cpp \
189   cv/cvsamplers.cpp \
190   cv/cvsegmentation.cpp \
191   cv/cvshapedescr.cpp \
192   cv/cvsmooth.cpp \
193   cv/cvsnakes.cpp \
194   cv/cvspilltree.cpp \
195   cv/cvstardetector.cpp \
196   cv/cvstereobm.cpp \
197   cv/cvstereogc.cpp \
198   cv/cvsubdivision2d.cpp \
199   cv/cvsumpixels.cpp \
200   cv/cvsurf.cpp \
201   cv/cvtables.cpp \
202   cv/cvtemplmatch.cpp \
203   cv/cvthresh.cpp \
204   cv/cvtriangulate.cpp \
205   cv/cvundistort.cpp \
206   cv/cvutils.cpp
207 lib_cv_la_CXXFLAGS = @SIMD_FLAGS@ @OPENMP_CXXFLAGS@ $(AM_CXXFLAGS)
208 lib_cv_la_LDFLAGS = -no-undefined @LDFLAGS@
209
210 # real library for cv
211 libcv_la_SOURCES = cv/cvprecomp.cpp
212 libcv_la_LDFLAGS = -no-undefined -Wc,@OPENMP_CXXFLAGS@ -version-info @LT_VERSION@ @LDFLAGS@
213 libcv_la_LIBADD = \
214   lib_cv.la \
215   libcxcore.la \
216   @LTLIBOBJS@
217
218 # =========================================================================
219
220 # convenience library for cvaux
221 lib_cvaux_la_SOURCES = \
222   cvaux/camshift.cpp \
223   cvaux/cv3dtracker.cpp \
224   cvaux/cvadaptiveskindetector.cpp \
225   cvaux/cvaux.cpp \
226   cvaux/cvauxutils.cpp \
227   cvaux/cvba.cpp \
228   cvaux/cvbgfg_acmmm2003.cpp \
229   cvaux/cvbgfg_codebook.cpp \
230   cvaux/cvbgfg_common.cpp \
231   cvaux/cvbgfg_gaussmix.cpp \
232   cvaux/cvcalibfilter.cpp \
233   cvaux/cvclique.cpp \
234   cvaux/cvcorrespond.cpp \
235   cvaux/cvcorrimages.cpp \
236   cvaux/cvcreatehandmask.cpp \
237   cvaux/cvdpstereo.cpp \
238   cvaux/cveigenobjects.cpp \
239   cvaux/cvepilines.cpp \
240   cvaux/cvface.cpp \
241   cvaux/cvfacedetection.cpp \
242   cvaux/cvfacetemplate.cpp \
243   cvaux/cvfindface.cpp \
244   cvaux/cvfindhandregion.cpp \
245   cvaux/cvfuzzymeanshifttracker.cpp \
246   cvaux/cvhmm.cpp \
247   cvaux/cvhmm1d.cpp \
248   cvaux/cvhmmobs.cpp \
249   cvaux/cvhog.cpp \
250   cvaux/cvlcm.cpp \
251   cvaux/cvlee.cpp \
252   cvaux/cvlevmar.cpp \
253   cvaux/cvlevmarprojbandle.cpp \
254   cvaux/cvlevmartrif.cpp \
255   cvaux/cvlines.cpp \
256   cvaux/cvlmeds.cpp \
257   cvaux/cvmat.cpp \
258   cvaux/cvmorphcontours.cpp \
259   cvaux/cvmorphing.cpp \
260   cvaux/cvoctree.cpp \
261   cvaux/cvplanardetect.cpp \
262   cvaux/cvprewarp.cpp \
263   cvaux/cvscanlines.cpp \
264   cvaux/cvsegment.cpp \
265   cvaux/cvselfsimilarity.cpp \
266   cvaux/cvspinimages.cpp \
267   cvaux/cvsubdiv2.cpp \
268   cvaux/cvtexture.cpp \
269   cvaux/cvtrifocal.cpp \
270   cvaux/cvvecfacetracking.cpp \
271   cvaux/cvvideo.cpp \
272   cvaux/decomppoly.cpp \
273   cvaux/enmin.cpp \
274   cvaux/extendededges.cpp \
275   \
276   cvaux/vs/bgfg_estimation.cpp \
277   cvaux/vs/blobtrackanalysis.cpp \
278   cvaux/vs/blobtrackanalysishist.cpp \
279   cvaux/vs/blobtrackanalysisior.cpp \
280   cvaux/vs/blobtrackanalysistrackdist.cpp \
281   cvaux/vs/blobtrackgen1.cpp \
282   cvaux/vs/blobtrackgenyml.cpp \
283   cvaux/vs/blobtrackingauto.cpp \
284   cvaux/vs/blobtrackingcc.cpp \
285   cvaux/vs/blobtrackingccwithcr.cpp \
286   cvaux/vs/blobtrackingkalman.cpp \
287   cvaux/vs/blobtrackinglist.cpp \
288   cvaux/vs/blobtrackingmsfg.cpp \
289   cvaux/vs/blobtrackingmsfgs.cpp \
290   cvaux/vs/blobtrackpostprockalman.cpp \
291   cvaux/vs/blobtrackpostproclinear.cpp \
292   cvaux/vs/blobtrackpostproclist.cpp \
293   cvaux/vs/enteringblobdetection.cpp \
294   cvaux/vs/enteringblobdetectionreal.cpp \
295   cvaux/vs/testseq.cpp
296 lib_cvaux_la_CPPFLAGS = -I$(top_srcdir)/src/cvaux -I$(top_srcdir)/src/cv $(AM_CPPFLAGS)
297 lib_cvaux_la_CXXFLAGS = @SIMD_FLAGS@ @OPENMP_CXXFLAGS@ $(AM_CXXFLAGS)
298 lib_cvaux_la_LDFLAGS  = -no-undefined @LDFLAGS@
299
300 # real library for cvaux
301 libcvaux_la_CPPFLAGS = -I$(top_srcdir)/src/cv $(AM_CPPFLAGS)
302 libcvaux_la_SOURCES  = cvaux/cvauxprecomp.cpp
303 libcvaux_la_LDFLAGS  = -no-undefined -Wc,@OPENMP_CXXFLAGS@ -version-info @LT_VERSION@ @LDFLAGS@
304 libcvaux_la_LIBADD   = \
305   lib_cvaux.la \
306   libcxcore.la \
307   libcv.la \
308   @LTLIBOBJS@
309
310 # =========================================================================
311
312 # convenience library for ml
313 lib_ml_la_SOURCES = \
314   ml/ml_inner_functions.cpp \
315   ml/ml.cpp \
316   ml/mlann_mlp.cpp \
317   ml/mlboost.cpp \
318   ml/mlcnn.cpp \
319   ml/mldata.cpp \
320   ml/mlem.cpp \
321   ml/mlertrees.cpp \
322   ml/mlestimate.cpp \
323   ml/mlknearest.cpp \
324   ml/mlnbayes.cpp \
325   ml/mlrtrees.cpp \
326   ml/mlsvm.cpp \
327   ml/mltestset.cpp \
328   ml/mltree.cpp
329 lib_ml_la_CXXFLAGS = @SIMD_FLAGS@ @OPENMP_CXXFLAGS@ $(AM_CXXFLAGS)
330 lib_ml_la_LDFLAGS = -no-undefined @LDFLAGS@
331
332 # real library for ml
333 libml_la_SOURCES = dummy.cpp
334 libml_la_LDFLAGS = -no-undefined -Wc,@OPENMP_CXXFLAGS@ -version-info @LT_VERSION@ @LDFLAGS@
335 libml_la_LIBADD = \
336   lib_ml.la \
337   libcxcore.la \
338   $(top_builddir)/3rdparty/lib_flann.la \
339   @LTLIBOBJS@
340
341 # =========================================================================
342
343 # conditional sources
344
345 if BUILD_DC1394
346 TMP_DC1394=highgui/cvcap_dc1394.cpp
347 else
348 TMP_DC1394=
349 endif
350
351 if BUILD_DC1394_2
352 TMP_DC1394=highgui/cvcap_dc1394_v2.cpp
353 else
354 TMP_DC1394=
355 endif
356
357 if BUILD_V4L
358 TMP_V4L=highgui/cvcap_v4l.cpp
359 else
360 TMP_V4L=
361 endif
362
363 if BUILD_UNICAP
364 TMP_UNICAP=highgui/cvcap_unicap.cpp
365 else
366 TMP_UNICAP=
367 endif
368
369 if BUILD_FFMPEG
370 TMP_FFMPEG=highgui/cvcap_ffmpeg.cpp
371 else
372 TMP_FFMPEG=
373 endif
374
375 if BUILD_XINE
376 TMP_XINE=highgui/cvcap_xine.cpp
377 else
378 TMP_XINE=
379 endif
380
381 if BUILD_GSTREAMER
382 TMP_GSTREAMER=highgui/cvcap_gstreamer.cpp highgui/gstappsink.cpp
383 else
384 TMP_GSTREAMER=
385 endif
386
387 if BUILD_QUICKTIME
388 TMP_QT=highgui/cvcap_qt.cpp
389 else
390 TMP_QT=
391 endif
392
393 if BUILD_CARBON
394 TMP_CARBON=highgui/window_carbon.cpp
395 else
396 TMP_CARBON=
397 endif
398
399 if BUILD_GTK
400 TMP_GTK=highgui/window_gtk.cpp
401 else
402 TMP_GTK=
403 endif
404
405 if BUILD_IMAGEIO
406 TMP_IMAGEIO=highgui/grfmt_imageio.cpp
407 else
408 TMP_IMAGEIO=
409 endif
410
411 # -------------------------------------------------------------------------
412
413 # convenience library
414 lib_highgui_la_SOURCES = \
415   highgui/bitstrm.cpp        \
416   highgui/grfmt_base.cpp     \
417   highgui/grfmt_bmp.cpp      \
418   highgui/grfmt_exr.cpp      \
419   highgui/grfmt_jpeg.cpp     \
420   highgui/grfmt_jpeg2000.cpp \
421   highgui/grfmt_png.cpp      \
422   highgui/grfmt_pxm.cpp      \
423   highgui/grfmt_sunras.cpp   \
424   highgui/grfmt_tiff.cpp     \
425   highgui/image.cpp          \
426   highgui/loadsave.cpp       \
427   highgui/utils.cpp          \
428   highgui/cvcap.cpp          \
429   highgui/cvcap_images.cpp   \
430   highgui/window.cpp         \
431   $(TMP_DC1394)     \
432   $(TMP_V4L)        \
433   $(TMP_UNICAP)     \
434   $(TMP_FFMPEG)     \
435   $(TMP_XINE)       \
436   $(TMP_GSTREAMER)  \
437   $(TMP_QT)         \
438   $(TMP_CARBON)     \
439   $(TMP_GTK)        \
440   $(TMP_IMAGEIO)
441
442 lib_highgui_la_CXXFLAGS = \
443   @GTHREAD_CFLAGS@ @GTK_CFLAGS@ \
444   @GSTREAMER_CFLAGS@ @QUICKTIME_CFLAGS@ @CARBON_CFLAGS@    \
445   @UNICAP_PACKAGE_CFLAGS@ @UCIL_PACKAGE_CFLAGS@ $(AM_CXXFLAGS)
446 lib_highgui_la_LDFLAGS = -no-undefined @LDFLAGS@
447
448 # real library
449 libhighgui_la_SOURCES = highgui/precomp.cpp
450 libhighgui_la_LDFLAGS = -no-undefined -Wc,@OPENMP_CXXFLAGS@ -version-info @LT_VERSION@ @LDFLAGS@
451 libhighgui_la_LIBADD  = \
452     lib_highgui.la \
453     libcxcore.la   \
454     libcv.la \
455     @GTHREAD_LIBS@ @GTK_LIBS@ @GSTREAMER_LIBS@ @IMAGELIBS@ @FFMPEGLIBS@   \
456     @IEEE1394LIBS@ @QUICKTIME_LIBS@ @CARBON_LIBS@ @XINE_LIBS@ @LTLIBOBJS@ \
457     @UNICAP_PACKAGE_LIBS@ @UCIL_PACKAGE_LIBS@