Release version 1.2
647
Makefile.in
Normal file
@ -0,0 +1,647 @@
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
DIST_COMMON = README $(am__configure_deps) $(dist_sysconf_DATA) \
|
||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
|
||||
config.guess config.sub depcomp install-sh ltmain.sh missing
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno configure.status.lineno
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
html-recursive info-recursive install-data-recursive \
|
||||
install-exec-recursive install-info-recursive \
|
||||
install-recursive installcheck-recursive installdirs-recursive \
|
||||
pdf-recursive ps-recursive uninstall-info-recursive \
|
||||
uninstall-recursive
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||
am__installdirs = "$(DESTDIR)$(sysconfdir)"
|
||||
dist_sysconfDATA_INSTALL = $(INSTALL_DATA)
|
||||
DATA = $(dist_sysconf_DATA)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOXYGEN_FALSE = @BUILD_DOXYGEN_FALSE@
|
||||
BUILD_DOXYGEN_TRUE = @BUILD_DOXYGEN_TRUE@
|
||||
BUILD_EXAMPLES_FALSE = @BUILD_EXAMPLES_FALSE@
|
||||
BUILD_EXAMPLES_TRUE = @BUILD_EXAMPLES_TRUE@
|
||||
BUILD_MAN_FALSE = @BUILD_MAN_FALSE@
|
||||
BUILD_MAN_TRUE = @BUILD_MAN_TRUE@
|
||||
BUILD_TEX_FALSE = @BUILD_TEX_FALSE@
|
||||
BUILD_TEX_TRUE = @BUILD_TEX_TRUE@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DOXYGEN_CV_VERSION = @DOXYGEN_CV_VERSION@
|
||||
Doxygen = @Doxygen@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_MAN = @ENABLE_MAN@
|
||||
ENABLE_TEX = @ENABLE_TEX@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
OpenCV_CFLAGS = @OpenCV_CFLAGS@
|
||||
OpenCV_LIBS = @OpenCV_LIBS@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
USEOPENCV2_FALSE = @USEOPENCV2_FALSE@
|
||||
USEOPENCV2_TRUE = @USEOPENCV2_TRUE@
|
||||
VERSION = @VERSION@
|
||||
X11_CFLAGS = @X11_CFLAGS@
|
||||
X11_LIBS = @X11_LIBS@
|
||||
XTest_CFLAGS = @XTest_CFLAGS@
|
||||
XTest_LIBS = @XTest_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
SUBDIRS = libcvautomation examples docs
|
||||
|
||||
#And the BASH macros
|
||||
dist_sysconf_DATA = libcvautomation_funcs
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --gnu \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-dist_sysconfDATA: $(dist_sysconf_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(sysconfdir)" || $(mkdir_p) "$(DESTDIR)$(sysconfdir)"
|
||||
@list='$(dist_sysconf_DATA)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(dist_sysconfDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(sysconfdir)/$$f'"; \
|
||||
$(dist_sysconfDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(sysconfdir)/$$f"; \
|
||||
done
|
||||
|
||||
uninstall-dist_sysconfDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(dist_sysconf_DATA)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(sysconfdir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(sysconfdir)/$$f"; \
|
||||
done
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
rev=''; for subdir in $$list; do \
|
||||
if test "$$subdir" = "."; then :; else \
|
||||
rev="$$subdir $$rev"; \
|
||||
fi; \
|
||||
done; \
|
||||
rev="$$rev ."; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkdir_p) $(distdir)/docs
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d "$(distdir)/$$subdir" \
|
||||
|| $(mkdir_p) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
distdir=`$(am__cd) $(distdir) && pwd`; \
|
||||
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
|
||||
(cd $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$top_distdir" \
|
||||
distdir="$$distdir/$$subdir" \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -755 -exec chmod a+rwx,go+rx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile $(DATA)
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
for dir in "$(DESTDIR)$(sysconfdir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-libtool \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-exec-am: install-dist_sysconfDATA
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-dist_sysconfDATA uninstall-info-am
|
||||
|
||||
uninstall-info: uninstall-info-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
|
||||
check-am clean clean-generic clean-libtool clean-recursive \
|
||||
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
|
||||
dist-shar dist-tarZ dist-zip distcheck distclean \
|
||||
distclean-generic distclean-libtool distclean-recursive \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dist_sysconfDATA \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-strip installcheck installcheck-am \
|
||||
installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic maintainer-clean-recursive \
|
||||
mostlyclean mostlyclean-generic mostlyclean-libtool \
|
||||
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
|
||||
uninstall uninstall-am uninstall-dist_sysconfDATA \
|
||||
uninstall-info-am
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
22
README.md
@ -1,22 +0,0 @@
|
||||
libcvautomation
|
||||
============
|
||||
|
||||
Use OpenCV to create a GUI testing framework - replaces Sikuli, Xpresser
|
||||
|
||||
###### Why I'm doing this ######
|
||||
In trying to create an application testing framework for the MOSAIC team at the University of North Carolina at Charlotte, I was very discouraged by what was currently offered.
|
||||
|
||||
Sikuli represented some great ideas, and the built-in IDE was great. Problem being, it crashed whenever I tried to create the first screenshot. Xpresser also looked like it could be great, but died pretty quickly too. Plus, neither of these programs ran on the Prominent North American Enterprise Linux Vendor's software platform.
|
||||
|
||||
As such, starting with a sample OpenCV program to recognize sub-images, I'm attempting to create a GUI testing framework that's more stable, no-questions-asked, simple, and otherwise just usable (specifically from BASH - don't make things more complicated than they need to be.)
|
||||
|
||||
###### How it works ######
|
||||
OpenCV is used for image processing, and XTestExtension is used for driving X11. Reference implementations are given, and they are fairly full-featured.
|
||||
|
||||
###### Where we're headed #######
|
||||
Image recognition and basic X automation are done. From here, code more advanced X automations (ex. Giving the library a string of text to enter, rather than just a character at a time), and clean up the code.
|
||||
|
||||
After the basic functionality is done (Image recognition and automation) I'll develop python bindings to make interfacing with the library simpler. If there are any suggestions, please let me know!
|
||||
|
||||
###### Get in contact #######
|
||||
If you have a suggestion, comment, question, concern, or otherwise, feel free to email me at <bspeice@uncc.edu>. This product is developed with the community in mind, so if there's any feedback to be had I welcome it.
|
12
TODO.md
@ -1,12 +0,0 @@
|
||||
libcvautomation TODO list
|
||||
-----------------------------------
|
||||
|
||||
###### Core functionality #######
|
||||
Add support for a string of characters to input to X, not just one at a time.
|
||||
|
||||
Fix the libcvautomation.h header such that it doesn't need to rely on the build-time flag USEOPENCV2, which will not be present if anyone builds something on libcvautomation - i.e. hard-code a define in the header that lists some of the options used at build (USEOPENCV2, etc.)
|
||||
Alternately, research creating a pkg-config .pc file that will contain the needed cflags and library includes.
|
||||
|
||||
###### Looking ahead ######
|
||||
Add Python bindings
|
||||
Research XInput2 to see if this would be a good idea to pursue.
|
7407
aclocal.m4
vendored
Normal file
23
autogen.sh
@ -1,23 +0,0 @@
|
||||
#!/bin/sh
|
||||
#===============================================================================
|
||||
#
|
||||
# FILE: autogen.sh
|
||||
#
|
||||
# USAGE: ./autogen.sh
|
||||
#
|
||||
# DESCRIPTION:
|
||||
#
|
||||
# OPTIONS: ---
|
||||
# REQUIREMENTS: ---
|
||||
# BUGS: ---
|
||||
# NOTES: ---
|
||||
# AUTHOR: Bradlee Speice, bspeice@uncc.edu
|
||||
# ORGANIZATION:
|
||||
# CREATED: 06/22/2012 11:05:47 AM EDT
|
||||
# REVISION: ---
|
||||
#===============================================================================
|
||||
|
||||
aclocal
|
||||
autoconf
|
||||
libtoolize --copy
|
||||
automake --copy --add-missing
|
1411
config.guess
vendored
Executable file
1500
config.sub
vendored
Executable file
530
depcomp
Executable file
@ -0,0 +1,530 @@
|
||||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2005-07-09.11
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by `PROGRAMS ARGS'.
|
||||
object Object file output by `PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputing dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say).
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||
## The second -e expression handles DOS-style file names with drive letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the `deleted header file' problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" |
|
||||
## Some versions of gcc put a space before the `:'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr '
|
||||
' ' ' >> $depfile
|
||||
echo >> $depfile
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> $depfile
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
||||
tmpdepfile="$stripped.u"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
|
||||
if test -f "$tmpdepfile"; then :
|
||||
else
|
||||
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
||||
tmpdepfile="$stripped.u"
|
||||
fi
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile"; then
|
||||
outname="$stripped.o"
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
icc)
|
||||
# Intel's C compiler understands `-MD -MF file'. However on
|
||||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||
# ICC 7.0 will fill foo.d with something like
|
||||
# foo.o: sub/foo.c
|
||||
# foo.o: sub/foo.h
|
||||
# which is wrong. We want:
|
||||
# sub/foo.o: sub/foo.c
|
||||
# sub/foo.o: sub/foo.h
|
||||
# sub/foo.c:
|
||||
# sub/foo.h:
|
||||
# ICC 7.1 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using \ :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
||||
sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in `foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# With Tru64 cc, shared objects can also be used to make a
|
||||
# static library. This mecanism is used in libtool 1.4 series to
|
||||
# handle both shared and static libraries in a single compilation.
|
||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||
#
|
||||
# With libtool 1.5 this exception was removed, and libtool now
|
||||
# generates 2 separate objects for the 2 libraries. These two
|
||||
# compilations output dependencies in in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
||||
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
||||
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.o.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
tmpdepfile4=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for `:'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no
|
||||
for arg in "$@"; do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||
' | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
"$@" || exit $?
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
echo " " >> "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
429
docs/Makefile.in
Normal file
@ -0,0 +1,429 @@
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = docs
|
||||
DIST_COMMON = $(dist_man_MANS) $(srcdir)/Doxyfile.in \
|
||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES = Doxyfile
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
man3dir = $(mandir)/man3
|
||||
am__installdirs = "$(DESTDIR)$(man3dir)"
|
||||
NROFF = nroff
|
||||
MANS = $(dist_man_MANS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOXYGEN_FALSE = @BUILD_DOXYGEN_FALSE@
|
||||
BUILD_DOXYGEN_TRUE = @BUILD_DOXYGEN_TRUE@
|
||||
BUILD_EXAMPLES_FALSE = @BUILD_EXAMPLES_FALSE@
|
||||
BUILD_EXAMPLES_TRUE = @BUILD_EXAMPLES_TRUE@
|
||||
BUILD_MAN_FALSE = @BUILD_MAN_FALSE@
|
||||
BUILD_MAN_TRUE = @BUILD_MAN_TRUE@
|
||||
BUILD_TEX_FALSE = @BUILD_TEX_FALSE@
|
||||
BUILD_TEX_TRUE = @BUILD_TEX_TRUE@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DOXYGEN_CV_VERSION = @DOXYGEN_CV_VERSION@
|
||||
Doxygen = @Doxygen@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_MAN = @ENABLE_MAN@
|
||||
ENABLE_TEX = @ENABLE_TEX@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
OpenCV_CFLAGS = @OpenCV_CFLAGS@
|
||||
OpenCV_LIBS = @OpenCV_LIBS@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
USEOPENCV2_FALSE = @USEOPENCV2_FALSE@
|
||||
USEOPENCV2_TRUE = @USEOPENCV2_TRUE@
|
||||
VERSION = @VERSION@
|
||||
X11_CFLAGS = @X11_CFLAGS@
|
||||
X11_LIBS = @X11_LIBS@
|
||||
XTest_CFLAGS = @XTest_CFLAGS@
|
||||
XTest_LIBS = @XTest_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
@BUILD_DOXYGEN_TRUE@EXTRA_DIST = html
|
||||
@BUILD_DOXYGEN_TRUE@CLEANFILES = doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@directory = $(top_srcdir)/docs/man/man3
|
||||
@BUILD_MAN_TRUE@dist_man_MANS = $(directory)/cvaPoint.3 $(directory)/libcvautomation.h.3 $(directory)/libcvautomation-xlib.h.3 $(directory)/libcv_search_methods.3 $(directory)/XTest_key_strings.3 $(directory)/cvautomationList.3 $(directory)/libcvautomation-opencv.h.3 $(directory)/libcvautomation-xtest.h.3 $(directory)/XTest_command_strings.3 $(directory)/libcvautomation.3 $(directory)/writing_app_tests.3 $(directory)/cva-match.3 $(directory)/cva-input.3
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu docs/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-man3: $(man3_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man3dir)" || $(mkdir_p) "$(DESTDIR)$(man3dir)"
|
||||
@list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.3*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||
else file=$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
3*) ;; \
|
||||
*) ext='3' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst"; \
|
||||
done
|
||||
uninstall-man3:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.3*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
3*) ;; \
|
||||
*) ext='3' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " rm -f '$(DESTDIR)$(man3dir)/$$inst'"; \
|
||||
rm -f "$(DESTDIR)$(man3dir)/$$inst"; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(mkdir_p) $(distdir)/$(directory)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
@BUILD_DOXYGEN_FALSE@all-local:
|
||||
all-am: Makefile $(MANS) all-local
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(man3dir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
@BUILD_DOXYGEN_FALSE@uninstall-local:
|
||||
@BUILD_DOXYGEN_FALSE@install-data-local:
|
||||
@BUILD_DOXYGEN_FALSE@clean-local:
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-libtool
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-data-local install-man
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man: install-man3
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-local uninstall-man
|
||||
|
||||
uninstall-man: uninstall-man3
|
||||
|
||||
.PHONY: all all-am all-local check check-am clean clean-generic \
|
||||
clean-libtool clean-local distclean distclean-generic \
|
||||
distclean-libtool distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am \
|
||||
install-data-local install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-man3 install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
|
||||
uninstall-info-am uninstall-local uninstall-man uninstall-man3
|
||||
|
||||
@BUILD_DOXYGEN_TRUE@install-data-local:
|
||||
@BUILD_DOXYGEN_TRUE@ $(mkdir_p) $(DESTDIR)$(datadir)/$(PACKAGE)/html
|
||||
@BUILD_DOXYGEN_TRUE@ for f in html/*; do \
|
||||
@BUILD_DOXYGEN_TRUE@ $(INSTALL_DATA) $(srcdir)/$$f \
|
||||
@BUILD_DOXYGEN_TRUE@ $(DESTDIR)$(datadir)/$(PACKAGE)/html; done
|
||||
|
||||
@BUILD_DOXYGEN_TRUE@uninstall-local:
|
||||
@BUILD_DOXYGEN_TRUE@ rm $(DESTDIR)$(datadir)/$(PACKAGE)/html/*
|
||||
@BUILD_DOXYGEN_TRUE@ -rmdir $(DESTDIR)$(datadir)/$(PACKAGE)/html
|
||||
|
||||
@BUILD_DOXYGEN_TRUE@doxyfile.stamp:
|
||||
@BUILD_DOXYGEN_TRUE@ $(Doxygen) Doxyfile
|
||||
@BUILD_DOXYGEN_TRUE@ echo Timestamp > doxyfile.stamp
|
||||
|
||||
@BUILD_DOXYGEN_TRUE@all-local: doxyfile.stamp
|
||||
@BUILD_DOXYGEN_TRUE@clean-local:
|
||||
@BUILD_DOXYGEN_TRUE@ rm -rf $(top_srcdir)/docs/man $(top_srcdir)/docs/html $(top_srcdir)/docs/latex
|
||||
|
||||
@BUILD_MAN_TRUE@$(directory)/cvaPoint.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/libcvautomation.h.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/libcvautomation-xlib.h.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/libcv_search_methods.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/XTest_key_strings.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/cvautomationList.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/libcvautomation-opencv.h.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/libcvautomation-xtest.h.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/XTest_command_strings.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/libcvautomation.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/writing_app_tests.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/cva-match.3: doxyfile.stamp
|
||||
@BUILD_MAN_TRUE@$(directory)/cva-input.3: doxyfile.stamp
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
Before Width: | Height: | Size: 925 B |
Before Width: | Height: | Size: 847 B |
Before Width: | Height: | Size: 733 B |
169
docs/man/man3/XTest_command_strings.3
Normal file
@ -0,0 +1,169 @@
|
||||
.TH "XTest_command_strings" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
XTest_command_strings \- xte_commandString() Command Strings
|
||||
This page describes the various command strings available for the \fBxte_commandString()\fP function.
|
||||
.SH "Mouse Click"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'mouseclick <button_number>'
|
||||
.fi
|
||||
.PP
|
||||
Click the mouse button \fC\fP <button_number> in-place.
|
||||
.SH "Image Mouse Click"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'imouseclick <image_name>'
|
||||
.fi
|
||||
.PP
|
||||
Click the mouse at an image's top-left corner.
|
||||
.SH "Image Mouse Click (Centered)"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'icmouseclick <image_name>'
|
||||
.fi
|
||||
.PP
|
||||
Click the mouse at an image's center.
|
||||
.SH "Mouse XY Move"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'mousexy <x-coord> <y-coord>'
|
||||
.fi
|
||||
.PP
|
||||
Move the mouse to an absolute coordinate.
|
||||
.PP
|
||||
\fBWarning:\fP
|
||||
.RS 4
|
||||
The \fC<x-coord>\fP and \fC<y-coord>\fP are expected to be integers.
|
||||
.RE
|
||||
.PP
|
||||
.SH "Mouse XY Move (Relative)"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'mouserxy <x-increment> <y-increment>'
|
||||
.fi
|
||||
.PP
|
||||
Move the mouse by the given x and y values (relative motion).
|
||||
.PP
|
||||
\fBA positive X increment will move the mouse to the right, and a positive Y increment will move the mouse down.\fP.RS 4
|
||||
|
||||
.RE
|
||||
.PP
|
||||
\fBWarning:\fP
|
||||
.RS 4
|
||||
The \fC<x-increment>\fP and \fC<y-increment>\fP are expected to be integers.
|
||||
.RE
|
||||
.PP
|
||||
.SH "Mouse Image Move"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'mouseimage <image_name>'
|
||||
.fi
|
||||
.PP
|
||||
Move the mouse to an image's top-left corner.
|
||||
.SH "Mouse Image Move (Centered)"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'cmouseimage <image_name>'
|
||||
.fi
|
||||
.PP
|
||||
Move the mouse to an image's center.
|
||||
.SH "Mouse Button Down"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'mousedown <button_number>'
|
||||
.fi
|
||||
.PP
|
||||
Push and leave down a mouse button.
|
||||
.SH "Mouse Button Up"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'mouseup <button_number>'
|
||||
.fi
|
||||
.PP
|
||||
Release mouse button \fC\fP <button_number>
|
||||
.SH "Mouse Jiggle"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'mousejiggle'
|
||||
.fi
|
||||
.PP
|
||||
Jiggle the mouse (helps to activate some widgets). Moves the mouse right and down 1 pixel, and then back.
|
||||
.SH "Mouse Scroll Down"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'mousescrolld'
|
||||
.fi
|
||||
.PP
|
||||
Scroll the mouse down 1 time - depending on window manager settings, etc., this may be multiple lines.
|
||||
.PP
|
||||
\fBNote:\fP
|
||||
.RS 4
|
||||
This is a wrapper function for clicking button 4 on the mouse
|
||||
.RE
|
||||
.PP
|
||||
.SH "Mouse Scroll Up"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'mousescrollu'
|
||||
.fi
|
||||
.PP
|
||||
Scroll the mouse up 1 time - depending on window manager settings, etc., this may be multiple lines.
|
||||
.PP
|
||||
\fBNote:\fP
|
||||
.RS 4
|
||||
This is a wrapper function for clicking button 5 on the mouse
|
||||
.RE
|
||||
.PP
|
||||
.SH "Key Button Click"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'keyclick <key_name>'
|
||||
.fi
|
||||
.PP
|
||||
Push and release a keyboard key. This can be a key like \fC'a'\fP, \fC'b'\fP, or something fancy like \fC'space'\fP. Please see \fBXTest Key Strings\fP for a full list of special keys.
|
||||
.SH "Key Button Down"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'keydown <key_name>'
|
||||
.fi
|
||||
.PP
|
||||
Push down \fIbut do not release\fP a keyboard key. This can be a key like \fC'a'\fP, \fC'b'\fP, or something fancy like \fC'space'\fP. Please see \fBXTest Key Strings\fP for a full list of special keys.
|
||||
.SH "Key Button Up"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'keyup <key_name>'
|
||||
.fi
|
||||
.PP
|
||||
Release a keyboard key. This can be a key like \fC'a'\fP, \fC'b'\fP, or something fancy like \fC'space'\fP. Please see \fBXTest Key Strings\fP for a full list of special keys.
|
||||
.SH "Keyboard Input String"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
'keystring <string>'
|
||||
.fi
|
||||
.PP
|
||||
Input a string of text to the X11 server. For example, inputting 'Hello, world!' will act as if you typed 'Hello, world!' from the keyboard.
|
||||
.PP
|
||||
\fBWarning:\fP
|
||||
.RS 4
|
||||
Unlike \fBKey Button Down\fP, \fBKey Button Up\fP, and \fBKey Button Click\fP, this function can not handle special keys like 'space'.
|
||||
.RE
|
||||
.PP
|
||||
|
266
docs/man/man3/XTest_key_strings.3
Normal file
@ -0,0 +1,266 @@
|
||||
.TH "XTest_key_strings" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
XTest_key_strings \- XTest Key Strings
|
||||
This page describes the various extra key strings to use with X11. The following list is generated with this command:
|
||||
.PP
|
||||
.nf
|
||||
xmodmap -pke | cut -d'=' -f2 | sed 's/ /\n/g' | tr -s '\n' | awk '{ print length(), $0 | 'sort -n' }' | cut -d' ' -f2 | uniq
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.PP
|
||||
.nf
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
a
|
||||
A
|
||||
b
|
||||
B
|
||||
c
|
||||
C
|
||||
d
|
||||
D
|
||||
e
|
||||
E
|
||||
f
|
||||
F
|
||||
g
|
||||
G
|
||||
h
|
||||
H
|
||||
i
|
||||
I
|
||||
j
|
||||
J
|
||||
k
|
||||
K
|
||||
l
|
||||
L
|
||||
m
|
||||
M
|
||||
n
|
||||
N
|
||||
o
|
||||
O
|
||||
p
|
||||
P
|
||||
q
|
||||
Q
|
||||
r
|
||||
R
|
||||
s
|
||||
S
|
||||
t
|
||||
T
|
||||
u
|
||||
U
|
||||
v
|
||||
V
|
||||
w
|
||||
W
|
||||
x
|
||||
X
|
||||
y
|
||||
Y
|
||||
z
|
||||
Z
|
||||
at
|
||||
F1
|
||||
F2
|
||||
F3
|
||||
F4
|
||||
F5
|
||||
F6
|
||||
F7
|
||||
F8
|
||||
F9
|
||||
Up
|
||||
bar
|
||||
End
|
||||
F10
|
||||
F11
|
||||
F12
|
||||
Tab
|
||||
Down
|
||||
Home
|
||||
KP_0
|
||||
KP_1
|
||||
KP_2
|
||||
KP_3
|
||||
KP_4
|
||||
KP_5
|
||||
KP_6
|
||||
KP_7
|
||||
KP_8
|
||||
KP_9
|
||||
Left
|
||||
less
|
||||
Menu
|
||||
Next
|
||||
plus
|
||||
Alt_L
|
||||
Break
|
||||
colon
|
||||
comma
|
||||
equal
|
||||
grave
|
||||
KP_Up
|
||||
minus
|
||||
Pause
|
||||
Print
|
||||
Prior
|
||||
Right
|
||||
slash
|
||||
space
|
||||
aacute
|
||||
Aacute
|
||||
dagger
|
||||
Delete
|
||||
dollar
|
||||
eacute
|
||||
Eacute
|
||||
Escape
|
||||
exclam
|
||||
iacute
|
||||
Iacute
|
||||
Insert
|
||||
KP_Add
|
||||
KP_End
|
||||
Meta_L
|
||||
oacute
|
||||
Oacute
|
||||
period
|
||||
Return
|
||||
uacute
|
||||
Uacute
|
||||
greater
|
||||
Hyper_L
|
||||
KP_Down
|
||||
KP_Home
|
||||
KP_Left
|
||||
KP_Next
|
||||
percent
|
||||
Shift_L
|
||||
Shift_R
|
||||
Super_L
|
||||
Super_R
|
||||
Sys_Req
|
||||
XF86WWW
|
||||
asterisk
|
||||
KP_Begin
|
||||
KP_Enter
|
||||
KP_Equal
|
||||
KP_Prior
|
||||
KP_Right
|
||||
NoSymbol
|
||||
Num_Lock
|
||||
question
|
||||
quotedbl
|
||||
XF86Back
|
||||
XF86Mail
|
||||
XF86Stop
|
||||
XF86WLAN
|
||||
ampersand
|
||||
backslash
|
||||
BackSpace
|
||||
braceleft
|
||||
brokenbar
|
||||
Caps_Lock
|
||||
Control_L
|
||||
Control_R
|
||||
KP_Delete
|
||||
KP_Divide
|
||||
KP_Insert
|
||||
parenleft
|
||||
semicolon
|
||||
XF86Eject
|
||||
XF86Sleep
|
||||
adiaeresis
|
||||
Adiaeresis
|
||||
apostrophe
|
||||
asciitilde
|
||||
braceright
|
||||
ediaeresis
|
||||
Ediaeresis
|
||||
idiaeresis
|
||||
KP_Decimal
|
||||
numbersign
|
||||
odiaeresis
|
||||
Odiaeresis
|
||||
parenright
|
||||
udiaeresis
|
||||
Udiaeresis
|
||||
underscore
|
||||
XF86Reload
|
||||
XF86Search
|
||||
XF86WakeUp
|
||||
asciicircum
|
||||
bracketleft
|
||||
KP_Multiply
|
||||
KP_Subtract
|
||||
Mode_switch
|
||||
Scroll_Lock
|
||||
XF86Battery
|
||||
XF86Display
|
||||
XF86Forward
|
||||
XF86_Ungrab
|
||||
bracketright
|
||||
doubledagger
|
||||
ISO_Left_Tab
|
||||
XF86PowerOff
|
||||
XF86AudioMute
|
||||
XF86AudioNext
|
||||
XF86AudioPrev
|
||||
XF86AudioStop
|
||||
XF86Favorites
|
||||
XF86AudioMedia
|
||||
XF86AudioPause
|
||||
XF86Calculator
|
||||
XF86_ClearGrab
|
||||
XF86MyComputer
|
||||
XF86_Next_VMode
|
||||
XF86_Prev_VMode
|
||||
ISO_Level3_Shift
|
||||
Terminate_Server
|
||||
XF86_Switch_VT_1
|
||||
XF86_Switch_VT_2
|
||||
XF86_Switch_VT_3
|
||||
XF86_Switch_VT_4
|
||||
XF86_Switch_VT_5
|
||||
XF86_Switch_VT_6
|
||||
XF86_Switch_VT_7
|
||||
XF86_Switch_VT_8
|
||||
XF86_Switch_VT_9
|
||||
XF86KbdLightOnOff
|
||||
XF86_Switch_VT_10
|
||||
XF86_Switch_VT_11
|
||||
XF86_Switch_VT_12
|
||||
Pointer_EnableKeys
|
||||
XF86KbdBrightnessUp
|
||||
XF86MonBrightnessUp
|
||||
XF86AudioLowerVolume
|
||||
XF86AudioRaiseVolume
|
||||
XF86KbdBrightnessDown
|
||||
XF86MonBrightnessDown
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.PP
|
||||
\fBWarning:\fP
|
||||
.RS 4
|
||||
Please note that each key string above is first translated into a key code, and then into the actual key click. Thus, while you might intend to press 'dollar', it will actually come out as '4'. If you need a \fC'$'\fP to come out, use the \fC'keystring $'\fP command to \fBxte_commandString()\fP or \fC'key_str $'\fP function in the BASH wrapper - see the \fBAppendix of Wrapper Functions\fP.
|
||||
.RE
|
||||
.PP
|
||||
|
81
docs/man/man3/cva-input.3
Normal file
@ -0,0 +1,81 @@
|
||||
.TH "cva-input" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
cva-input \- \fBAuthor:\fP
|
||||
.RS 4
|
||||
Bradlee Speice <bspeice@uncc.edu>
|
||||
.RE
|
||||
.PP
|
||||
\fBDate:\fP
|
||||
.RS 4
|
||||
7/18/2012
|
||||
.RE
|
||||
.PP
|
||||
.SH "Usage:"
|
||||
.PP
|
||||
This program works kind of like a mini-language. All options are parsed left-to-right, and executed right there. Thus, specifying '--display' at different places in the options will cause this program to use the most recent given display.
|
||||
.SH "Example Usage:"
|
||||
.PP
|
||||
Click the mouse:
|
||||
.PP
|
||||
cva-input -s 'click 1'
|
||||
.PP
|
||||
Press key 'a':
|
||||
.PP
|
||||
cva-input -s 'keyclick a'
|
||||
.SH "Full Options:"
|
||||
.PP
|
||||
-h, --help: Display this usage message.
|
||||
.PP
|
||||
-u, --usage: Display this usage message.
|
||||
.PP
|
||||
-d, --display: Specify the X display to use.
|
||||
.PP
|
||||
-m, --search-method: Specify a method to search by. See \fCcva-match --help\fP for more information on this.
|
||||
.PP
|
||||
-t, --tolerance: Specify how strict the match is.
|
||||
.PP
|
||||
-b, --button: Specify the mouse button to press (default 1).
|
||||
.PP
|
||||
-c, --center: Instead of matching the top-left corner of an image, match the center of the image.
|
||||
.PP
|
||||
-o, --sane-tolerance: Set the tolerance using a scale of 1-100, rather than INT_MIN to INT_MAX (100 ~= INT_MAX)
|
||||
.PP
|
||||
-s, --string: Command string - see below.
|
||||
.SH "Full Command List:"
|
||||
.PP
|
||||
\fCmouseclick:\fP Click the mouse in-place.
|
||||
.PP
|
||||
\fCimouseclick:\fP Click the mouse at an image's top-left corner.
|
||||
.PP
|
||||
\fCicmouseclick:\fP Click the mouse at an image's center.
|
||||
.PP
|
||||
\fCmousexy:\fP Move the mouse to the given coordinate.
|
||||
.PP
|
||||
\fCmouserxy:\fP Move the mouse by the given x and y values (relative motion).
|
||||
.PP
|
||||
\fCmouseimage:\fP Move the mouse to an image's top-left corner.
|
||||
.PP
|
||||
\fCcmouseimage:\fP Move the mouse to an image's center.
|
||||
.PP
|
||||
\fCmousedown:\fP Push and leave down a mouse button.
|
||||
.PP
|
||||
\fCmouseup:\fP Release a mouse button.
|
||||
.PP
|
||||
\fCmousejiggle:\fP Jiggle the mouse (helps to activate some widgets).
|
||||
.PP
|
||||
\fCmousescrollu:\fP Scroll the mouse wheel up
|
||||
.PP
|
||||
\fCmousescrolld:\fP Scroll the mouse wheel down
|
||||
.PP
|
||||
\fCkeyclick:\fP Click a keyboard button.
|
||||
.PP
|
||||
\fCkeydown:\fP Push and leave down a keyboard button.
|
||||
.PP
|
||||
\fCkeyup:\fP Release a keyboard button.
|
||||
.PP
|
||||
\fCkeystring:\fP Input a string of keys to X11.
|
||||
.SH "Contact Information:"
|
||||
.PP
|
||||
Questions? Comments? Concerns? Suggestions? Send all feedback to Bradlee Speice at <bspeice@uncc.edu>
|
65
docs/man/man3/cva-match.3
Normal file
@ -0,0 +1,65 @@
|
||||
.TH "cva-match" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
cva-match \- \fBAuthor:\fP
|
||||
.RS 4
|
||||
Bradlee Speice <bspeice@uncc.edu>
|
||||
.RE
|
||||
.PP
|
||||
\fBDate:\fP
|
||||
.RS 4
|
||||
7/18/2012
|
||||
.RE
|
||||
.PP
|
||||
.SH "Usage:"
|
||||
.PP
|
||||
This program uses OpenCV in order to recognize an image within an image. The return code is how many matches were found - return 0 for no matches, 1 for one match, etc.
|
||||
.SH "Example Usage:"
|
||||
.PP
|
||||
Match two images against the root X11 window:
|
||||
.PP
|
||||
cva-match --x-root -s '<image_name>' -s '<image_name_2>'
|
||||
.PP
|
||||
Match a root and sub image with a custom tolerance and search method
|
||||
.PP
|
||||
cva-match -r '<root_image>' -s '<image_name>' -o 75 -m 1
|
||||
.SH "Full Options:"
|
||||
.PP
|
||||
-h, --help: Display this usage message.
|
||||
.PP
|
||||
-u, --usage: Display this usage message.
|
||||
.PP
|
||||
-r, --root-image: Location of the root image to compare against.
|
||||
.PP
|
||||
-s, --sub-image: Location of the sub-image to find in root.
|
||||
.PP
|
||||
-p, --separator: Separator of the X and Y coordinates.
|
||||
.PP
|
||||
-t, --tolerance: Set how strict the match is - 100 is recommended lowest value.
|
||||
.PP
|
||||
\fBNote:\fP
|
||||
.RS 4
|
||||
When using CCORR or CCOEFF tolerance works in opposite direction, so -50 is recommended highest value.
|
||||
.RE
|
||||
.PP
|
||||
-m, --search-method: Set which method is used to search for sub-images.
|
||||
.PP
|
||||
\fBNote:\fP
|
||||
.RS 4
|
||||
Search Methods: CV_TM_SQDIFF = 0, CV_TM_SQDIFF_NORMED = 1, CV_TM_CCORR = 2, CV_TM_CCORR_NORMED = 3, CV_TM_CCOEFF = 4, CV_TM_COEFF_NORMED = 5
|
||||
.RE
|
||||
.PP
|
||||
-x, --x-root[=DISPLAY]: Set the root image to come from X11
|
||||
.PP
|
||||
\fBNote:\fP
|
||||
.RS 4
|
||||
The DISPLAY variable is optional, not specifying it will cause X to use the default display (not specifically :0.0)
|
||||
.RE
|
||||
.PP
|
||||
-c, --center: The output points should be centered on the sub-image, rather than the top-left corner.
|
||||
.PP
|
||||
-o, --sane-tolerance: Set the tolerance using a scale of 1-100, rather than INT_MIN to INT_MAX (100 ~= INT_MAX)
|
||||
.SH "Contact Information:"
|
||||
.PP
|
||||
Questions? Comments? Concerns? Suggestions? Send all feedback to Bradlee Speice at <bspeice@uncc.edu>
|
40
docs/man/man3/cvaPoint.3
Normal file
@ -0,0 +1,40 @@
|
||||
.TH "cvaPoint" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
cvaPoint \- Very simple structure to standardize how points are used in libcvautomation.
|
||||
|
||||
.PP
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.PP
|
||||
\fC#include <libcvautomation.h>\fP
|
||||
.PP
|
||||
.SS "Public Attributes"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "int \fBx\fP"
|
||||
.br
|
||||
.ti -1c
|
||||
.RI "int \fBy\fP"
|
||||
.br
|
||||
.in -1c
|
||||
.SH "Detailed Description"
|
||||
.PP
|
||||
Very simple structure to standardize how points are used in libcvautomation.
|
||||
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIx\fP An X-coordinate
|
||||
.br
|
||||
\fIy\fP A Y-coordinate
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 50 of file libcvautomation.h.
|
||||
|
||||
.SH "Author"
|
||||
.PP
|
||||
Generated automatically by Doxygen for libcvautomation from the source code.
|
62
docs/man/man3/cvautomationList.3
Normal file
@ -0,0 +1,62 @@
|
||||
.TH "cvautomationList" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
cvautomationList \- Implements a structure to build an array for methods like \fBmatchSubImage_a()\fP.
|
||||
|
||||
.PP
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.PP
|
||||
\fC#include <libcvautomation.h>\fP
|
||||
.PP
|
||||
.SS "Public Attributes"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "IplImage * \fBcvaImage\fP"
|
||||
.br
|
||||
.ti -1c
|
||||
.RI "char * \fBfileName\fP"
|
||||
.br
|
||||
.ti -1c
|
||||
.RI "CvPoint \fBresultPoint\fP"
|
||||
.br
|
||||
.ti -1c
|
||||
.RI "int \fBsearchMethod\fP"
|
||||
.br
|
||||
.ti -1c
|
||||
.RI "int \fBtolerance\fP"
|
||||
.br
|
||||
.in -1c
|
||||
.SH "Detailed Description"
|
||||
.PP
|
||||
Implements a structure to build an array for methods like \fBmatchSubImage_a()\fP.
|
||||
|
||||
This structure is a simple way to wrap up all needed information for matching sub images in one location.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIcvaImage\fP An image in IplImage format
|
||||
.br
|
||||
\fIfileName\fP The file location of an image to be loaded
|
||||
.br
|
||||
\fIresultPoint\fP Holder for a result - for example, storing where this sub image was located in its root image
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for this sub image in a root image
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for this sub image in a root image
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 38 of file libcvautomation.h.
|
||||
|
||||
.SH "Author"
|
||||
.PP
|
||||
Generated automatically by Doxygen for libcvautomation from the source code.
|
106
docs/man/man3/libcv_search_methods.3
Normal file
@ -0,0 +1,106 @@
|
||||
.TH "libcv_search_methods" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
libcv_search_methods \- Libcv Search Methods
|
||||
This page describes the methods libcv uses to search for a sub image in a root image.
|
||||
.SH "Tolerance Values"
|
||||
.PP
|
||||
Tolerance values are used to control how strict each of the following search methods are. Acceptable values are from \fCINT_MIN\fP to \fCINT_MAX\fP.
|
||||
.PP
|
||||
Additionally, each of the reference programs - \fCcva-input\fP and \fCcva-match\fP - have a 'sane tolerance' built in. This is accessed by the '-o' switch, and allows you to specify a tolerance on scale of 1-100, where 1 is incredibly strict, and 100 is incredibly loose.
|
||||
.PP
|
||||
\fBNote:\fP
|
||||
.RS 4
|
||||
The formula for calculating the sane tolerance is: $ T(x) = (10^{\frac{\log{INT\_MAX}}{\lambda}})^x $ where $ \lambda $ is the highest tolerance value (in our case, 100). Finally, we have to round down a little bit to ensure that we don't accidentally generate a value higher than \fCINT_MAX\fP. The formula used does mean that we will never be able to generate values lower than 0.
|
||||
.RE
|
||||
.PP
|
||||
\fBWarning:\fP
|
||||
.RS 4
|
||||
The 'sane-tolerance' option doesn't know which search method you are using - Thus while 1 is an incredibly strict search for \fBSquared Difference\fP and \fBSquared Difference (Normalized)\fP, it is fairly loose search for \fBCross Correlation\fP, \fBCross Correlation (Normalized)\fP, \fBCorrelation Coefficient\fP, and \fBCorrelation Coefficient (Normalized)\fP
|
||||
.RE
|
||||
.PP
|
||||
.SH "Squared Difference"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
#define CV_TM_SQDIFF 0
|
||||
.fi
|
||||
.PP
|
||||
Squared Difference is the default search method used by \fClibcvautomation\fP, as well as \fCcva-match\fP and \fCcva-input\fP.
|
||||
.PP
|
||||
\fBFor this method, setting a low tolerance value results in a more strict match.\fP.RS 4
|
||||
|
||||
.RE
|
||||
.PP
|
||||
Formula: $R(x,y) = \sum_{x',y'} (T(x',y') - I(x + x', y+y'))^2 $
|
||||
.SH "Squared Difference (Normalized)"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
#define CV_TM_SQDIFF_NORMED 1
|
||||
.fi
|
||||
.PP
|
||||
This is a normalized version of the \fBSquared Difference\fP search method.
|
||||
.PP
|
||||
\fBFor this method, setting a low tolerance value results in a more strict match.\fP.RS 4
|
||||
|
||||
.RE
|
||||
.PP
|
||||
Formula: $ R(x,y) = \frac{\sum_{x',y'}(T(x',y') - I(x + x', y + y'))^2}{ \sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'}I(x + x', y + y')^2}} $
|
||||
.SH "Cross Correlation"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
#define CV_TM_CCORR 2
|
||||
.fi
|
||||
.PP
|
||||
This is the Cross Correlation search method.
|
||||
.PP
|
||||
\fBFor this method, setting a high tolerance value results in a more strict match.\fP.RS 4
|
||||
|
||||
.RE
|
||||
.PP
|
||||
Formula: $ R(x,y)= \sum _{x',y'} (T(x',y') \cdot I(x+x',y+y')) $
|
||||
.SH "Cross Correlation (Normalized)"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
#define CV_TM_CCORR_NORMED 3
|
||||
.fi
|
||||
.PP
|
||||
This is the normalized version of the \fBCross Correlation\fP search method.
|
||||
.PP
|
||||
\fBFor this method, setting a high tolerance value results in a more strict match.\fP.RS 4
|
||||
|
||||
.RE
|
||||
.PP
|
||||
Formula: $ R(x,y)= \frac{\sum_{x',y'} (T(x',y') \cdot I'(x+x',y+y'))}{\sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'} I(x+x',y+y')^2}} $
|
||||
.SH "Correlation Coefficient"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
#define CV_TM_CCOEFF 4
|
||||
.fi
|
||||
.PP
|
||||
This is the Correlation Coefficient search method.
|
||||
.PP
|
||||
\fBFor this method, setting a high tolerance value results in a more strict match.\fP.RS 4
|
||||
|
||||
.RE
|
||||
.PP
|
||||
Formula: $ R(x,y)= \sum _{x',y'} (T'(x',y') \cdot I(x+x',y+y')) $ where: $ \begin{array}{l} T'(x',y')=T(x',y') - 1/(w \cdot h) \cdot \sum _{x'',y''} T(x'',y'') \\ I'(x+x',y+y')=I(x+x',y+y') - 1/(w \cdot h) \cdot \sum _{x'',y''} I(x+x'',y+y'') \end{array} $
|
||||
.SH "Correlation Coefficient (Normalized)"
|
||||
.PP
|
||||
.PP
|
||||
.nf
|
||||
#define CV_TM_CCOEFF_NORMED 5
|
||||
.fi
|
||||
.PP
|
||||
This is the normalized version of the \fBCorrelation Coefficient\fP search method.
|
||||
.PP
|
||||
\fBFor this method, setting a high tolerance value results in a more strict match.\fP.RS 4
|
||||
|
||||
.RE
|
||||
.PP
|
||||
Formula: $ R(x,y)= \frac{ \sum_{x',y'} (T'(x',y') \cdot I'(x+x',y+y')) }{ \sqrt{\sum_{x',y'}T'(x',y')^2 \cdot \sum_{x',y'} I'(x+x',y+y')^2} } $
|
285
docs/man/man3/libcvautomation-opencv.h.3
Normal file
@ -0,0 +1,285 @@
|
||||
.TH "libcvautomation-opencv.h" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
libcvautomation-opencv.h \- The source code to access libcv from inside libcvautomation.
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.PP
|
||||
\fC#include <libcvautomation/libcvautomation.h>\fP
|
||||
.br
|
||||
|
||||
.SS "Functions"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "CvPoint \fBmatchSubImage\fP (IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)"
|
||||
.br
|
||||
.RI "\fIReturn the location of a sub image in its root image. \fP"
|
||||
.ti -1c
|
||||
.RI "CvPoint \fBmatchSubImage_center\fP (IplImage *rootImage, IplImage *subImage, int searchMethod, double tolerance)"
|
||||
.br
|
||||
.RI "\fIReturn the center of a sub image in its root image, rather than the top-left corner. \fP"
|
||||
.ti -1c
|
||||
.RI "CvPoint \fBmatchSubImage_location\fP (const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)"
|
||||
.br
|
||||
.RI "\fIReturn the location of a sub image in its root image. \fP"
|
||||
.ti -1c
|
||||
.RI "CvPoint \fBmatchSubImage_location_center\fP (const char *rootImage_location, const char *subImage_location, int searchMethod, double tolerance)"
|
||||
.br
|
||||
.RI "\fIReturn the center of a sub image in its root image, rather than the top-left corner. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBmatchSubImage_a\fP (IplImage *rootImage, \fBcvautomationList\fP *subImageArray, int listSize)"
|
||||
.br
|
||||
.RI "\fIParse an array of sub images and send them to \fBmatchSubImage()\fP. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBmatchSubImage_a_center\fP (IplImage *rootImage, \fBcvautomationList\fP *subImageArray, int listSize)"
|
||||
.br
|
||||
.RI "\fIParse an array of sub images and send them to \fBmatchSubImage_center()\fP. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBmatchSubImage_a_location\fP (const char *rootImageFileName, \fBcvautomationList\fP *subImageArray, int listSize)"
|
||||
.br
|
||||
.RI "\fIParse an array of sub images and send them to \fBmatchSubImage()\fP. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBmatchSubImage_a_location_center\fP (const char *rootImageFileName, \fBcvautomationList\fP *subImageArray, int listSize)"
|
||||
.br
|
||||
.RI "\fIParse an array of sub images and send them to \fBmatchSubImage_center()\fP. \fP"
|
||||
.in -1c
|
||||
.SH "Detailed Description"
|
||||
.PP
|
||||
The source code to access libcv from inside libcvautomation.
|
||||
|
||||
This source file builds in the necessary functionality to use libcv functions inside libcvautomation.
|
||||
.PP
|
||||
\fBAuthor:\fP
|
||||
.RS 4
|
||||
Bradlee Speice
|
||||
.RE
|
||||
.PP
|
||||
\fBDate:\fP
|
||||
.RS 4
|
||||
7/18/2012
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition in file \fBlibcvautomation-opencv.h\fP.
|
||||
.SH "Function Documentation"
|
||||
.PP
|
||||
.SS "CvPoint matchSubImage (IplImage * rootImage, IplImage * subImage, int searchMethod, double tolerance)"
|
||||
.PP
|
||||
Return the location of a sub image in its root image.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIrootImage\fP The root image (in IplImage format) to search in
|
||||
.br
|
||||
\fIsubImage\fP The sub image (in IplImage format) to search for in \fCrootImage\fP
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in \fCrootImage\fP.
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in \fCrootImage\fP.
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of the sub image in root image
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "CvPoint matchSubImage_center (IplImage * rootImage, IplImage * subImage, int searchMethod, double tolerance)"
|
||||
.PP
|
||||
Return the center of a sub image in its root image, rather than the top-left corner.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIrootImage\fP The root image (in IplImage format) to search in
|
||||
.br
|
||||
\fIsubImage\fP The sub image (in IplImage format) to search for in \fCrootImage\fP
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in \fCrootImage\fP.
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in \fCrootImage\fP.
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The center location of the sub image in root image
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "CvPoint matchSubImage_location (const char * rootImage_location, const char * subImage_location, int searchMethod, double tolerance)"
|
||||
.PP
|
||||
Return the location of a sub image in its root image.
|
||||
.PP
|
||||
The difference that this function has over \fBmatchSubImage()\fP is that \fIrootImage_location\fP and \fIsubImage_location\fP are from files, rather than an IplImage format image.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIrootImage_location\fP The location of the root image
|
||||
.br
|
||||
\fIsubImage_location\fP The location of the sub image to search for in \fCrootImage\fP
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in \fCrootImage\fP.
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in \fCrootImage\fP.
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of the sub image in root image
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Referenced by main().
|
||||
.SS "CvPoint matchSubImage_location_center (const char * rootImage_location, const char * subImage_location, int searchMethod, double tolerance)"
|
||||
.PP
|
||||
Return the center of a sub image in its root image, rather than the top-left corner.
|
||||
.PP
|
||||
The difference that this function has over \fBmatchSubImage_center()\fP is that \fIrootImage_location\fP and \fIsubImage_location\fP are from files, rather than an IplImage format image.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIrootImage_location\fP The location of the root image
|
||||
.br
|
||||
\fIsubImage_location\fP The location of the sub image to search for in \fCrootImage\fP
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in \fCrootImage\fP.
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in \fCrootImage\fP.
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The center location of the sub image in root image
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Referenced by main().
|
||||
.SS "void matchSubImage_a (IplImage * rootImage, \fBcvautomationList\fP * subImageArray, int listSize)"
|
||||
.PP
|
||||
Parse an array of sub images and send them to \fBmatchSubImage()\fP.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIrootImage\fP The root image (in IplImage format) to search in
|
||||
.br
|
||||
\fIsubImageArray\fP The sub image array to search for in \fCrootImage\fP - Note that the contents of \fCsubImageArray\fP are modified during execution of this routine
|
||||
.br
|
||||
\fIlistSize\fP The number of sub images to search for in subImageArray
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBcvautomationList\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
This function returns void, and modifies the contents of subImageArray
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void matchSubImage_a_center (IplImage * rootImage, \fBcvautomationList\fP * subImageArray, int listSize)"
|
||||
.PP
|
||||
Parse an array of sub images and send them to \fBmatchSubImage_center()\fP.
|
||||
.PP
|
||||
Uses the \fBcvautomationList.cvaImage\fP parameter to find a \fCsubImage\fP in \fCrootImage\fP
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIrootImage\fP The root image (in IplImage format) to search in
|
||||
.br
|
||||
\fIsubImageArray\fP The sub image array to search for in \fCrootImage\fP - Note that the contents of \fCsubImageArray\fP are modified during execution of this routine
|
||||
.br
|
||||
\fIlistSize\fP The number of sub images to search for in subImageArray
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBcvautomationList\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
This function returns void, and modifies the contents of subImageArray
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void matchSubImage_a_location (const char * rootImage_location, \fBcvautomationList\fP * subImageArray, int listSize)"
|
||||
.PP
|
||||
Parse an array of sub images and send them to \fBmatchSubImage()\fP.
|
||||
.PP
|
||||
The difference between this and \fBmatchSubImage_a()\fP is that this uses a root image from filename, rather than from an IplImage format.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIrootImage_location\fP The location of the root image
|
||||
.br
|
||||
\fIsubImageArray\fP The sub image array to search for in \fCrootImage_location\fP - Note that the contents of \fCsubImageArray\fP are modified during execution of this routine
|
||||
.br
|
||||
\fIlistSize\fP The number of sub images to search for in subImageArray
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBcvautomationList\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
This function returns void, and modifies the contents of subImageArray
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void matchSubImage_a_location_center (const char * rootImage_location, \fBcvautomationList\fP * subImageArray, int listSize)"
|
||||
.PP
|
||||
Parse an array of sub images and send them to \fBmatchSubImage_center()\fP.
|
||||
.PP
|
||||
The difference that this function has over \fBmatchSubImage_a_center()\fP is that \fCrootImage_location\fP is from a file
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIrootImage_location\fP The location of the root image
|
||||
.br
|
||||
\fIsubImageArray\fP The sub image array to search for in \fCrootImage_location\fP - Note that the contents of \fCsubImageArray\fP are modified during execution of this routine
|
||||
.br
|
||||
\fIlistSize\fP The number of sub images to search for in subImageArray
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBcvautomationList\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
This function returns void, and modifies the contents of subImageArray
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SH "Author"
|
||||
.PP
|
||||
Generated automatically by Doxygen for libcvautomation from the source code.
|
220
docs/man/man3/libcvautomation-xlib.h.3
Normal file
@ -0,0 +1,220 @@
|
||||
.TH "libcvautomation-xlib.h" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
libcvautomation-xlib.h \- The source code to access Xlib from inside libcvautomation.
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.PP
|
||||
\fC#include <libcvautomation/libcvautomation.h>\fP
|
||||
.br
|
||||
|
||||
.SS "Functions"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "Display * \fBcvaOpenDisplay\fP (char *displayName)"
|
||||
.br
|
||||
.RI "\fISimple wrapper for XOpenDisplay. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBcvaCloseDisplay\fP (Display *displayLocation)"
|
||||
.br
|
||||
.RI "\fISimple wrapper for XCloseDisplay. \fP"
|
||||
.ti -1c
|
||||
.RI "CvPoint \fBmatchSubImage_X11\fP (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIReturn the location of a sub image in the X11 root window. \fP"
|
||||
.ti -1c
|
||||
.RI "CvPoint \fBmatchSubImage_X11_center\fP (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIReturn the center of a sub image in root X11 window, rather than the top-left corner. \fP"
|
||||
.ti -1c
|
||||
.RI "CvPoint \fBmatchSubImage_X11_location\fP (Display *displayLocation, const char *subImage_location, int search_method, int tolerance)"
|
||||
.br
|
||||
.RI "\fIReturn the location of a sub image in the X11 root window. \fP"
|
||||
.ti -1c
|
||||
.RI "CvPoint \fBmatchSubImage_X11_location_center\fP (Display *displayLocation, const char *subImage_location, int search_method, int tolerance)"
|
||||
.br
|
||||
.RI "\fIReturn the center of a sub image in the root X11 window, rather than the top-left corner. \fP"
|
||||
.in -1c
|
||||
.SH "Detailed Description"
|
||||
.PP
|
||||
The source code to access Xlib from inside libcvautomation.
|
||||
|
||||
This source file builds in the necessary functionality to use xlib functions inside libcvautomation.
|
||||
.PP
|
||||
\fBAuthor:\fP
|
||||
.RS 4
|
||||
Bradlee Speice
|
||||
.RE
|
||||
.PP
|
||||
\fBDate:\fP
|
||||
.RS 4
|
||||
7/18/2012
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition in file \fBlibcvautomation-xlib.h\fP.
|
||||
.SH "Function Documentation"
|
||||
.PP
|
||||
.SS "Display * cvaOpenDisplay (char * displayName)"
|
||||
.PP
|
||||
Simple wrapper for XOpenDisplay.
|
||||
.PP
|
||||
Currently this function literally just passes off to XOpenDisplay, but is designed to be used in the future if extra functionality is needed.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayName\fP The name of the display to open - '' is a valid name
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
Pointer to the opened X11 Display
|
||||
.RE
|
||||
.PP
|
||||
\fBWarning:\fP
|
||||
.RS 4
|
||||
You must open a display to use any functions.
|
||||
.PP
|
||||
The program using this library is responsible to close the display as well.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void cvaCloseDisplay (Display * displayLocation)"
|
||||
.PP
|
||||
Simple wrapper for XCloseDisplay.
|
||||
.PP
|
||||
Currently this function literally just passes off to XCloseDisplay, but is designed to be used in the future if extra functionality is needed.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP Pointer to the display to close
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
Nothing
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "CvPoint matchSubImage_X11 (Display * displayLocation, IplImage * subImage, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Return the location of a sub image in the X11 root window.
|
||||
.PP
|
||||
This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to \fBmatchSubImage()\fP
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP Pointer to the currently open X11 Display
|
||||
.br
|
||||
\fIsubImage\fP The sub image (in IplImage format) to search for in the root X11 window
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of the sub image in root X11 window
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "CvPoint matchSubImage_X11_center (Display * displayLocation, IplImage * subImage, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Return the center of a sub image in root X11 window, rather than the top-left corner.
|
||||
.PP
|
||||
This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to \fBmatchSubImage_center()\fP
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP Pointer to the currently open X11 Display
|
||||
.br
|
||||
\fIsubImage\fP The sub image (in IplImage format) to search for in the root X11 window
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The center location of the sub image in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "CvPoint matchSubImage_X11_location (Display * displayLocation, const char * subImage_location, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Return the location of a sub image in the X11 root window.
|
||||
.PP
|
||||
This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to \fBmatchSubImage_location()\fP
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP Pointer to the currently open X11 Display
|
||||
.br
|
||||
\fIsubImage_location\fP The location of the sub image to search for in the root X11 window
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The center location of the sub image in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Referenced by main().
|
||||
.SS "CvPoint matchSubImage_X11_location_center (Display * displayLocation, const char * subImage_location, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Return the center of a sub image in the root X11 window, rather than the top-left corner.
|
||||
.PP
|
||||
This function wraps grabbing the X11 root window, converting it to IplImage format, and then giving this to \fBmatchSubImage_location_center()\fP
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP Pointer to the currently open X11 Display
|
||||
.br
|
||||
\fIsubImage_location\fP The location of the sub image to search for in the root X11 window
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The center location of the sub image in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Referenced by main().
|
||||
.SH "Author"
|
||||
.PP
|
||||
Generated automatically by Doxygen for libcvautomation from the source code.
|
665
docs/man/man3/libcvautomation-xtest.h.3
Normal file
@ -0,0 +1,665 @@
|
||||
.TH "libcvautomation-xtest.h" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
libcvautomation-xtest.h \- The source code to access the XTest extension inside libcvautomation.
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.PP
|
||||
\fC#include <libcvautomation/libcvautomation.h>\fP
|
||||
.br
|
||||
|
||||
.SS "Defines"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "#define \fBIS_CMD\fP(x, y) strncmp( x, y, strlen( y ) ) == 0"
|
||||
.br
|
||||
.RI "\fIChecks if string \fC'x'\fP is in \fC'y'\fP. \fP"
|
||||
.ti -1c
|
||||
.RI "#define \fBCOMMAND_STR_LEN\fP 512"
|
||||
.br
|
||||
.RI "\fISpecifies the maximum length of a command string. \fP"
|
||||
.in -1c
|
||||
.SS "Functions"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "Bool \fBxte_XTestSupported\fP (Display *displayLocation)"
|
||||
.br
|
||||
.RI "\fICheck if the XTest extension is supported. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBcvaPoint\fP \fBxte_pointerLocation\fP (Display *displayLocation)"
|
||||
.br
|
||||
.RI "\fIGrab the current location of the pointer. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_clickMouse\fP (Display *displayLocation, int mouseButton)"
|
||||
.br
|
||||
.RI "\fIClick the mouse in its current location. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_clickMouseXY\fP (Display *displayLocation, int xLocation, int yLocation, int mouseButton)"
|
||||
.br
|
||||
.RI "\fIClick the mouse button at an absolute location. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_clickMouseRXY\fP (Display *displayLocation, int xIncrement, int yIncrement, int mouseButton)"
|
||||
.br
|
||||
.RI "\fIClick the mouse button at a relative location. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBcvaPoint\fP \fBxte_clickMouseImage\fP (Display *displayLocation, IplImage *subImage, int mouseButton, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIClick the mouse based on location of an image. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBcvaPoint\fP \fBxte_clickMouseImage_location\fP (Display *displayLocation, const char *fileName, int mouseButton, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIClick the mouse based on the location of an image from file. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBcvaPoint\fP \fBxte_clickMouseImage_center\fP (Display *displayLocation, IplImage *subImage, int mouseButton, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIClick the mouse based on center location of an image. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBcvaPoint\fP \fBxte_clickMouseImage_location_center\fP (Display *displayLocation, const char *fileName, int mouseButton, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIClick the mouse based on the center location of an image from file. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_hoverMouseXY\fP (Display *displayLocation, int xLocation, int yLocation)"
|
||||
.br
|
||||
.RI "\fIMove the mouse to a location, but do not click it. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_hoverMouseRXY\fP (Display *displayLocation, int xIncrement, int yIncrement)"
|
||||
.br
|
||||
.RI "\fIMove the mouse to a relative location, but do not click it. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBcvaPoint\fP \fBxte_hoverMouseImage\fP (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIMove the mouse based on location of an image. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBcvaPoint\fP \fBxte_hoverMouseImage_location\fP (Display *displayLocation, const char *filename, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIMove the mouse based on location of an image from file. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBcvaPoint\fP \fBxte_hoverMouseImage_center\fP (Display *displayLocation, IplImage *subImage, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIMove the mouse based on center location of an image. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBcvaPoint\fP \fBxte_hoverMouseImage_location_center\fP (Display *displayLocation, const char *fileName, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIMove the mouse based on the center location of an image from file. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_mouseDown\fP (Display *displayLocation, int mouseButton)"
|
||||
.br
|
||||
.RI "\fIPress a mouse button down, and do not release it. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_mouseUp\fP (Display *displayLocation, int mouseButton)"
|
||||
.br
|
||||
.RI "\fIRelease a mouse button. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_mouseJiggle\fP (Display *displayLocation)"
|
||||
.br
|
||||
.RI "\fIJiggle the mouse in place. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_mouseScrollUp\fP (Display *displayLocation)"
|
||||
.br
|
||||
.RI "\fIScroll the mouse up. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_mouseScrollDown\fP (Display *displayLocation)"
|
||||
.br
|
||||
.RI "\fIScroll the mouse down. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_clickKey\fP (Display *displayLocation, char *key)"
|
||||
.br
|
||||
.RI "\fIPress and release a keyboard key. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_clickKeyStr\fP (Display *displayLocation, char *string)"
|
||||
.br
|
||||
.RI "\fIInput a string of characters to the X Server. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_keyDown\fP (Display *displayLocation, char *key)"
|
||||
.br
|
||||
.RI "\fIPress a key down, but do not release it. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBxte_keyUp\fP (Display *displayLocation, char *key)"
|
||||
.br
|
||||
.RI "\fIRelease a key. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBcvaPoint\fP \fBxte_commandString\fP (Display *displayLocation, char *commandString, int mouseButton, int searchMethod, int tolerance)"
|
||||
.br
|
||||
.RI "\fIExecute a command where the command is coming from a string. \fP"
|
||||
.in -1c
|
||||
.SH "Detailed Description"
|
||||
.PP
|
||||
The source code to access the XTest extension inside libcvautomation.
|
||||
|
||||
This source file builds in the necessary functionality to drive the X11 server in libcvautomation
|
||||
.PP
|
||||
\fBAuthor:\fP
|
||||
.RS 4
|
||||
Bradlee Speice
|
||||
.RE
|
||||
.PP
|
||||
\fBDate:\fP
|
||||
.RS 4
|
||||
7/18/2012
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition in file \fBlibcvautomation-xtest.h\fP.
|
||||
.SH "Define Documentation"
|
||||
.PP
|
||||
.SS "#define IS_CMD(x, y) strncmp( x, y, strlen( y ) ) == 0"
|
||||
.PP
|
||||
Checks if string \fC'x'\fP is in \fC'y'\fP.
|
||||
.PP
|
||||
Performs a safe check to see if x is in y - this way, you can check that \fC'command'\fP is inside \fC'command argument'\fP
|
||||
.SH "Function Documentation"
|
||||
.PP
|
||||
.SS "Bool xte_XTestSupported (Display * displayLocation)"
|
||||
.PP
|
||||
Check if the XTest extension is supported.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display to check if XTest is supported on
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
True if XTest is supported, False otherwise
|
||||
.RE
|
||||
.PP
|
||||
\fBWarning:\fP
|
||||
.RS 4
|
||||
The program using this library is responsible for checking to see if XTest is supported.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Referenced by checkXTEEnabled().
|
||||
.SS "\fBcvaPoint\fP xte_pointerLocation (Display * displayLocation)"
|
||||
.PP
|
||||
Grab the current location of the pointer.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to grab the pointer location from
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
\fBcvaPoint\fP with the current location of the pointer
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_clickMouse (Display * displayLocation, int mouseButton)"
|
||||
.PP
|
||||
Click the mouse in its current location.
|
||||
.PP
|
||||
Perform a mouse-down and mouse-up event on button \fCmouseButton\fP
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to click the mouse on
|
||||
.br
|
||||
\fImouseButton\fP The mouse button to click
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_clickMouseXY (Display * displayLocation, int xLocation, int yLocation, int mouseButton)"
|
||||
.PP
|
||||
Click the mouse button at an absolute location.
|
||||
.PP
|
||||
Move the mouse to location (\fCxLocation\fP, \fCyLocation\fP ) and then click button \fCmouseButton\fP
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to click the mouse on
|
||||
.br
|
||||
\fIxLocation\fP The X-coordinate to move the mouse to before clicking
|
||||
.br
|
||||
\fIyLocation\fP The Y-location to move the mouse to before clicking
|
||||
.br
|
||||
\fImouseButton\fP The mouse button to click
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_clickMouseRXY (Display * displayLocation, int xIncrement, int yIncrement, int mouseButton)"
|
||||
.PP
|
||||
Click the mouse button at a relative location.
|
||||
.PP
|
||||
Move the mouse horizontally \fCxIncrement\fP and vertically \fCyIncrement\fP before clicking button \fCmouseButton\fP
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to click the mouse on
|
||||
.br
|
||||
\fIxIncrement\fP Move the mouse horizontally this many pixels - positive value is motion to the right
|
||||
.br
|
||||
\fIyIncrement\fP Move the mouse vertically this many pixels - positive value is motion downwards
|
||||
.br
|
||||
\fImouseButton\fP The mouse button to click
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "\fBcvaPoint\fP xte_clickMouseImage (Display * displayLocation, IplImage * subImage, int mouseButton, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Click the mouse based on location of an image.
|
||||
.PP
|
||||
Wraps grabbing the X11 root window of \fCdisplayLocation\fP, finding \fCsubImage\fP in this display, moving the mouse to that location, and then clicking \fCmouseButton\fP. The return value can be ignored, the mouse will already have been clicked there.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to click the mouse on
|
||||
.br
|
||||
\fIsubImage\fP The sub image (in IplImage format) to find in the root X11 window
|
||||
.br
|
||||
\fImouseButton\fP The mouse button to click
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of where the mouse was clicked. This will be (-1,-1) if there was an error, in which case the mouse will not have been clicked.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "\fBcvaPoint\fP xte_clickMouseImage_location (Display * displayLocation, const char * fileName, int mouseButton, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Click the mouse based on the location of an image from file.
|
||||
.PP
|
||||
Wraps grabbing the X11 root window of \fCdisplayLocation\fP, finding the sub image from \fCfileName\fP in this display, moving the mouse to that location, and then clicking \fCmouseButton\fP. The return value can be ignored, the mouse will already have been clicked there.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to click the mouse on
|
||||
.br
|
||||
\fIfileName\fP The file name from which to load the sub-image
|
||||
.br
|
||||
\fImouseButton\fP The mouse button to click
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for the sub image in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for the sub image in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of where the mouse was clicked. This will be (-1,-1) if there was an error, in which case the mouse will not have been clicked.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "\fBcvaPoint\fP xte_clickMouseImage_center (Display * displayLocation, IplImage * subImage, int mouseButton, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Click the mouse based on center location of an image.
|
||||
.PP
|
||||
Wraps grabbing the X11 root window of \fCdisplayLocation\fP, finding the center of \fCsubImage\fP in this display, moving the mouse to that location, and then clicking \fCmouseButton\fP. The return value can be ignored, the mouse will already have been clicked there.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to click the mouse on
|
||||
.br
|
||||
\fIsubImage\fP The sub image (in IplImage format) to find in the root X11 window
|
||||
.br
|
||||
\fImouseButton\fP The mouse button to click
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of where the mouse was clicked. This will be (-1,-1) if there was an error, in which case the mouse will not have been clicked.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "\fBcvaPoint\fP xte_clickMouseImage_location_center (Display * displayLocation, const char * fileName, int mouseButton, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Click the mouse based on the center location of an image from file.
|
||||
.PP
|
||||
Wraps grabbing the X11 root window of \fCdisplayLocation\fP, finding the center location of the sub image from \fCfileName\fP in this display, moving the mouse to that location, and then clicking \fCmouseButton\fP. The return value can be ignored, the mouse will already have been clicked there.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to click the mouse on
|
||||
.br
|
||||
\fIfileName\fP The file name from which to load the sub-image
|
||||
.br
|
||||
\fImouseButton\fP The mouse button to click
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for the sub image in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for the sub image in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of where the mouse was clicked. This will be (-1,-1) if there was an error, in which case the mouse will not have been clicked.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_hoverMouseXY (Display * displayLocation, int xLocation, int yLocation)"
|
||||
.PP
|
||||
Move the mouse to a location, but do not click it.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to move the mouse
|
||||
.br
|
||||
\fIxLocation\fP The X-coordinate of which to move the mouse
|
||||
.br
|
||||
\fIyLocation\fP The Y-coordinate of which to move the mouse
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_hoverMouseRXY (Display * displayLocation, int xIncrement, int yIncrement)"
|
||||
.PP
|
||||
Move the mouse to a relative location, but do not click it.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to move the mouse
|
||||
.br
|
||||
\fIxIncrement\fP How far to move the mouse horizontally. Positive values indicate motion to the right.
|
||||
.br
|
||||
\fIyIncrement\fP How far to move the mouse vertically. Positive values indicate motion downward.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "\fBcvaPoint\fP xte_hoverMouseImage (Display * displayLocation, IplImage * subImage, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Move the mouse based on location of an image.
|
||||
.PP
|
||||
Wraps grabbing the X11 root window of \fCdisplayLocation\fP, finding \fCsubImage\fP in this display, and then moving the mouse to that location. The return value can be ignored, the mouse will already have been moved there.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to move the mouse on
|
||||
.br
|
||||
\fIsubImage\fP The sub image (in IplImage format) to find in the root X11 window
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of where the mouse was moved. This will be (-1,-1) if there was an error, in which case the mouse will not have been moved.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "\fBcvaPoint\fP xte_hoverMouseImage_location (Display * displayLocation, const char * filename, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Move the mouse based on location of an image from file.
|
||||
.PP
|
||||
Wraps grabbing the X11 root window of \fCdisplayLocation\fP, finding the sub image from \fCfileName\fP in this display, and then moving the mouse to that location. The return value can be ignored, the mouse will already have been moved there.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to move the mouse on
|
||||
.br
|
||||
\fIfilename\fP The file name from which to load the sub-image
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for the sub image in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for the sub image in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of where the mouse was moved. This will be (-1,-1) if there was an error, in which case the mouse will not have been moved.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "\fBcvaPoint\fP xte_hoverMouseImage_center (Display * displayLocation, IplImage * subImage, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Move the mouse based on center location of an image.
|
||||
.PP
|
||||
Wraps grabbing the X11 root window of \fCdisplayLocation\fP, finding the center of \fCsubImage\fP in this display, and then moving the mouse to that location. The return value can be ignored, the mouse will already have been moved there.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to move the mouse on
|
||||
.br
|
||||
\fIsubImage\fP The sub image (in IplImage format) to find in the root X11 window
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for \fCsubImage\fP in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of where the mouse was moved. This will be (-1,-1) if there was an error, in which case the mouse will not have been moved.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "\fBcvaPoint\fP xte_hoverMouseImage_location_center (Display * displayLocation, const char * fileName, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Move the mouse based on the center location of an image from file.
|
||||
.PP
|
||||
Wraps grabbing the X11 root window of \fCdisplayLocation\fP, finding the center location of the sub image from \fCfileName\fP in this display, and then moving the mouse to that location. The return value can be ignored, the mouse will already have been moved there.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to move the mouse on
|
||||
.br
|
||||
\fIfileName\fP The file name from which to load the sub-image
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use when searching for the sub image in the root X11 window
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use when searching for the sub image in the root X11 window
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The location of where the mouse was moved. This will be (-1,-1) if there was an error, in which case the mouse will not have been moved.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_mouseDown (Display * displayLocation, int mouseButton)"
|
||||
.PP
|
||||
Press a mouse button down, and do not release it.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to push a mouse button down
|
||||
.br
|
||||
\fImouseButton\fP The mouse button to push down
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_mouseUp (Display * displayLocation, int mouseButton)"
|
||||
.PP
|
||||
Release a mouse button.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to release a mouse button
|
||||
.br
|
||||
\fImouseButton\fP The mouse button to release
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_mouseJiggle (Display * displayLocation)"
|
||||
.PP
|
||||
Jiggle the mouse in place.
|
||||
.PP
|
||||
This moves the mouse down and right one pixel, and then back. This may be needed to activate menu items, etc.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to move the mouse
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_mouseScrollUp (Display * displayLocation)"
|
||||
.PP
|
||||
Scroll the mouse up.
|
||||
.PP
|
||||
This moves the mouse scroll wheel up one rotation, which may be multiple lines. What this really does is click mouse button 4.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to scroll the mouse
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void void xte_mouseScrollDown (Display * displayLocation)"
|
||||
.PP
|
||||
Scroll the mouse down.
|
||||
.PP
|
||||
This moves the mouse scroll wheel down one rotation, which may be multiple lines. What this really does is click mouse button 5.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to scroll the mouse
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_clickKey (Display * displayLocation, char * key)"
|
||||
.PP
|
||||
Press and release a keyboard key.
|
||||
.PP
|
||||
This method allows you to press and release a key, where the key may be \fC'a'\fP, \fC'b'\fP, or maybe something fancy like \fC'space'\fP. Please see \fBXTest Key Strings\fP for a full list of keys.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to click a key
|
||||
.br
|
||||
\fIkey\fP The key to click as a string
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBXTest Key Strings\fP
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_clickKeyStr (Display * displayLocation, char * string)"
|
||||
.PP
|
||||
Input a string of characters to the X Server.
|
||||
.PP
|
||||
Instead of specifying a single character to enter at a time (\fC'a'\fP, \fC'space'\fP) this function allows you to enter an entire string (\fC'Hello\fP, World!') at a time.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to enter a key string on
|
||||
.br
|
||||
\fIstring\fP The key string to input to the X Server
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_keyDown (Display * displayLocation, char * key)"
|
||||
.PP
|
||||
Press a key down, but do not release it.
|
||||
.PP
|
||||
This method allows you to push down a key, where the key may be \fC'a'\fP, \fC'b'\fP, or maybe something fancy like \fC'space'\fP. Please see \fBXTest Key Strings\fP for a full list of keys.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to push down a key
|
||||
.br
|
||||
\fIkey\fP The key to click as a string
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBXTest Key Strings\fP
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "void xte_keyUp (Display * displayLocation, char * key)"
|
||||
.PP
|
||||
Release a key.
|
||||
.PP
|
||||
This method allows you to release a key, where the key may be \fC'a'\fP, \fC'b'\fP, or maybe something fancy like \fC'space'\fP. Please see \fBXTest Key Strings\fP for a full list of keys.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to release a key
|
||||
.br
|
||||
\fIkey\fP The key to click as a string
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBXTest Key Strings\fP
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.SS "\fBcvaPoint\fP xte_commandString (Display * displayLocation, char * commandString, int mouseButton, int searchMethod, int tolerance)"
|
||||
.PP
|
||||
Execute a command where the command is coming from a string.
|
||||
.PP
|
||||
This function allows you to input a command to libcvautomation from a string. For example, to click a mouse button, you would use the \fCcommand\fP 'mouseclick'. Please note that some \fCcommand\fPs may need arguments to the string, and some may use function arguments. See \fBxte_commandString() Command Strings\fP for a full list of command and arguments
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fIdisplayLocation\fP The Display of which to operate on
|
||||
.br
|
||||
\fIcommandString\fP The command string to execute - limit to \fBCOMMAND_STR_LEN\fP characters
|
||||
.br
|
||||
\fImouseButton\fP The mouse button to click if it is needed by the command being executed
|
||||
.br
|
||||
\fIsearchMethod\fP The search method to use if it is needed by the command being executed
|
||||
.br
|
||||
\fItolerance\fP The tolerance to use if it is needed by the command being executed
|
||||
.RE
|
||||
.PP
|
||||
\fBSee also:\fP
|
||||
.RS 4
|
||||
\fBxte_commandString() Command Strings\fP
|
||||
.PP
|
||||
\fBLibcv Search Methods\fP
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Referenced by main().
|
||||
.SH "Author"
|
||||
.PP
|
||||
Generated automatically by Doxygen for libcvautomation from the source code.
|
32
docs/man/man3/libcvautomation.3
Normal file
@ -0,0 +1,32 @@
|
||||
.TH "libcvautomation" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
libcvautomation \- \fBAuthor:\fP
|
||||
.RS 4
|
||||
Bradlee Speice <\fCbspeice@uncc.edu\fP>
|
||||
.RE
|
||||
.PP
|
||||
\fBDate:\fP
|
||||
.RS 4
|
||||
7/18/2012
|
||||
.RE
|
||||
.PP
|
||||
.SH "Introduction"
|
||||
.PP
|
||||
Welcome to Libcvautomation! Libcvautomation is a GUI automation and testing tool based on image recognition and response. This program was designed as a direct replacement for \fCSikuli\fP and \fCXpresser\fP. I was having incredible difficulty getting either of these solutions to work - Sikuli would crash whenever I tried to take a screenshot, and Xpresser was both too new for our Prominent North American Enterprise Linux systems, but also didn't work or \fCimport\fP correctly. I really liked the way each of these programs approached GUI automation, but they simply didn't work. Additionally, I wanted to create a simple solution - it does what you want it to, and that's it.
|
||||
.SH "How Libcvautomation Works"
|
||||
.PP
|
||||
Libcvautomation represents two software products coming together - \fCOpenCV\fP and the \fCXTest extension\fP to the X11 server. OpenCV is used for image recognition, and XTest is used to actually drive the X server. You can dig into \fBlibcvautomation-xtest.h\fP to get an idea of what all this library is capable of.
|
||||
.br
|
||||
Basically what happens is that for whenever you need to do image recognition, OpenCV is used to find the images, and XTest is used to generate any events needed. Libcvautomation is mostly a wrapper to integrate both of these products, but also adds some functions like \fBmatchSubImage_X11()\fP that allow you to match an image against the X11 root window in place. This means no more \fC'xwd | convert '<out_name>''\fP.
|
||||
.SH "Using Libcvautomation And Writing Application Tests"
|
||||
.PP
|
||||
So how does one go about using libcvautomation?
|
||||
.br
|
||||
I'm so glad you asked! I've provided a few reference programs - \fCcva-match\fP and \fCcva-input\fP - that can be used to demonstrate most of libcvautomation's capabilities. I've even provided a BASH wrapper to make it incredibly easy to use BASH with libcvautomation as well (requires that cva-match and cva-input are installed). Python bindings are on their way too.
|
||||
.br
|
||||
Finally, if you want to know how to write your own application tests, please see \fBWriting Application Tests\fP for more information on that. I've provided code to give you a basic idea of how they work.
|
||||
.SH "Questions? Comments? Concerns?"
|
||||
.PP
|
||||
Please send any feedback to <\fCbspeice@uncc.edu\fP>. Pull requests can be submitted to \fCmy github repository\fP.
|
91
docs/man/man3/libcvautomation.h.3
Normal file
@ -0,0 +1,91 @@
|
||||
.TH "libcvautomation.h" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
libcvautomation.h \- The top-level include for all projects involving libcvautomation.
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.PP
|
||||
\fC#include <stdio.h>\fP
|
||||
.br
|
||||
\fC#include <string.h>\fP
|
||||
.br
|
||||
\fC#include <opencv/cv.h>\fP
|
||||
.br
|
||||
\fC#include <opencv/highgui.h>\fP
|
||||
.br
|
||||
\fC#include <X11/Xlib.h>\fP
|
||||
.br
|
||||
\fC#include <X11/Xutil.h>\fP
|
||||
.br
|
||||
\fC#include <X11/extensions/XTest.h>\fP
|
||||
.br
|
||||
\fC#include <libcvautomation/libcvautomation-opencv.h>\fP
|
||||
.br
|
||||
\fC#include <libcvautomation/libcvautomation-xlib.h>\fP
|
||||
.br
|
||||
\fC#include <libcvautomation/libcvautomation-xtest.h>\fP
|
||||
.br
|
||||
|
||||
.SS "Classes"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "struct \fBcvautomationList\fP"
|
||||
.br
|
||||
.RI "\fIImplements a structure to build an array for methods like \fBmatchSubImage_a()\fP. \fP"
|
||||
.ti -1c
|
||||
.RI "struct \fBcvaPoint\fP"
|
||||
.br
|
||||
.RI "\fIVery simple structure to standardize how points are used in libcvautomation. \fP"
|
||||
.in -1c
|
||||
.SS "Defines"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "#define \fBLIBCVAUTOMATION_VERSION\fP '1.2'"
|
||||
.br
|
||||
.RI "\fIDefine what version of Libcvautomation we are using. \fP"
|
||||
.ti -1c
|
||||
.RI "#define \fBLIBCVAUTOMATION_BUGREPORT\fP 'bspeice@uncc.edu'"
|
||||
.br
|
||||
.RI "\fIDefine who to send bug reports to for Libcvautomation. \fP"
|
||||
.in -1c
|
||||
.SH "Detailed Description"
|
||||
.PP
|
||||
The top-level include for all projects involving libcvautomation.
|
||||
|
||||
This source file includes all other files needed for libcvautomation projects, and also defines the \fBcvautomationList\fP and \fBcvaPoint\fP structs to be used among libcvautomation functions. Please note that while the opencv2 version is being documented, there is no actual difference in usage for opencv version 1.
|
||||
.PP
|
||||
\fBAuthor:\fP
|
||||
.RS 4
|
||||
Bradlee Speice
|
||||
.RE
|
||||
.PP
|
||||
\fBDate:\fP
|
||||
.RS 4
|
||||
7/18/2012
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition in file \fBlibcvautomation.h\fP.
|
||||
.SH "Define Documentation"
|
||||
.PP
|
||||
.SS "#define LIBCVAUTOMATION_VERSION '1.2'"
|
||||
.PP
|
||||
Define what version of Libcvautomation we are using.
|
||||
.PP
|
||||
This define provides access to what version of Libcvautomation we're using. All times that you need to know what it is should use this.
|
||||
.PP
|
||||
Referenced by usage().
|
||||
.SS "#define LIBCVAUTOMATION_BUGREPORT 'bspeice@uncc.edu'"
|
||||
.PP
|
||||
Define who to send bug reports to for Libcvautomation.
|
||||
.PP
|
||||
This define provides access to who should be emailed in case of a Libcvautomation bug. All times that you need to know what it is should use this.
|
||||
.PP
|
||||
Referenced by usage().
|
||||
.SH "Author"
|
||||
.PP
|
||||
Generated automatically by Doxygen for libcvautomation from the source code.
|
404
docs/man/man3/writing_app_tests.3
Normal file
@ -0,0 +1,404 @@
|
||||
.TH "writing_app_tests" 3 "18 Jul 2012" "Version 1.2" "libcvautomation" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
writing_app_tests \- Writing Application Tests
|
||||
\fBAuthor:\fP
|
||||
.RS 4
|
||||
Bradlee Speice <\fCbspeice@uncc.edu\fP>
|
||||
.RE
|
||||
.PP
|
||||
\fBDate:\fP
|
||||
.RS 4
|
||||
7/18/2012
|
||||
.RE
|
||||
.PP
|
||||
.SH "Audience"
|
||||
.PP
|
||||
.PD 0
|
||||
.IP "\(bu" 2
|
||||
This document was written for people with some intermediate knowledge of BASH.
|
||||
.IP "\(bu" 2
|
||||
Screenshot experience is required - being able to create screenshots of windows using \fCGIMP\fP, the \fCimport\fP command from \fCImageMagick\fP, or something similar.
|
||||
.br
|
||||
|
||||
.IP "\(bu" 2
|
||||
Required for working with libcvautomation internals (not needed strictly for writing application testing):
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 4
|
||||
Intermediate-level C knowledge required for interfacing with libcvautomation. There isn't much complicated going on with libcvautomation itself, but you need to know to use \fBcvaOpenDisplay()\fP for grabbing a display and then \fBcvaCloseDisplay()\fP for closing it later for example.
|
||||
.IP " \(bu" 4
|
||||
C++ is available, but currently only as \fCextern 'C'\fP style bindings.
|
||||
.IP " \(bu" 4
|
||||
Python bindings are in progress as of time-of-writing
|
||||
.PP
|
||||
|
||||
.PP
|
||||
.SH "Purpose"
|
||||
.PP
|
||||
.PD 0
|
||||
.IP "\(bu" 2
|
||||
This document is intended to outline the libcvautomation testing library for GUI applications and its two reference programs \fCcva-match\fP and \fCcva-input\fP
|
||||
.IP "\(bu" 2
|
||||
These programs allow you to automate mouse and keyboard events in response to what appears on screen - for example, clicking a button based on an image of that button on screen.
|
||||
.PP
|
||||
.SH "Using Libcvautomation"
|
||||
.PP
|
||||
.PD 0
|
||||
.IP "\(bu" 2
|
||||
Since libcvautomation is a shared-object library intended to bundle a lot of functionality in one area, we must use external programs to agin access to the functions of libcvautomation.
|
||||
.IP "\(bu" 2
|
||||
Two reference programs have been included to make this easy - \fCcva-match\fP and \fCcva-input\fP
|
||||
.IP "\(bu" 2
|
||||
The reference programs are fairly full-featured, and expose most of libcvautomation:
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 4
|
||||
\fCcva-match\fP allows you to match multiple image files against a root image providing very fine control over how specific the match is
|
||||
.IP " \(bu" 4
|
||||
\fCcva-input\fP allows you to drive the X11 server using the XTest extension - for example, clicking on a button from image, clicking a key on the keyboard, and more.
|
||||
.PP
|
||||
|
||||
.IP "\(bu" 2
|
||||
These two programs should implement all functionality needed for GUI automation. Please contact \fCbspeice@uncc.edu\fP if you have suggestions for extra functionality, patches, comments, etc.
|
||||
.IP "\(bu" 2
|
||||
Finally, if you want to write your own programs using libcvautomation, the headers are located on your system. Use:
|
||||
.PP
|
||||
.nf
|
||||
#include <libcvautomation/libcvautomation.h>
|
||||
|
||||
.fi
|
||||
.PP
|
||||
to include all necessary header files. See the 'Files' tab above to get an idea of what functionality exists.
|
||||
.PP
|
||||
\fBNote:\fP
|
||||
.RS 4
|
||||
Intermediate C or C++ knowledge is required for programming with libcvautomation. C++ is currently only supported through \fCextern 'C'\fP, and full C++ bindings are not currently planned. Libcvautomation itself is incredibly simple, but interfaces with a few API's (Xlib, libcv) that it is helpful to have an idea of how to use.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
.SH "Application Testing"
|
||||
.PP
|
||||
Now we get into the good stuff. The basic process for application testing is as follows:
|
||||
.PD 0
|
||||
|
||||
.IP "\(bu" 2
|
||||
Create a sequence of screenshots for all mouse-clicks
|
||||
.IP "\(bu" 2
|
||||
Create a testing wrapper in BASH for automating the application
|
||||
.IP "\(bu" 2
|
||||
Test the wrapper and tune any necessary options
|
||||
.PP
|
||||
.SS "Creating the Screenshot Sequence"
|
||||
.PD 0
|
||||
.IP "\(bu" 2
|
||||
This process creates a set of screenshots by which libcvautomation can drive the X11 server
|
||||
.IP "\(bu" 2
|
||||
The process is simple - create a screenshot of all buttons you would like to click in an application test, or location where you would like to move the mouse, etc.
|
||||
.IP "\(bu" 2
|
||||
This can be accomplished a number of different ways - using GIMP, the \fCimport\fP command, or any other screenshot program. Additionally, libcvautomation will support any image format that OpenCV does. At the time of writing, these are:
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 4
|
||||
Windows bitmaps - \fC*.bmp\fP, \fC*.dib\fP
|
||||
.IP " \(bu" 4
|
||||
JPEG files - \fC*.jpeg\fP, \fC*.jpg\fP, \fC*.jpe\fP
|
||||
.IP " \(bu" 4
|
||||
JPEG 2000 files - \fC*.jp2\fP
|
||||
.IP " \(bu" 4
|
||||
Portable Network Graphics - \fC*.png\fP
|
||||
.IP " \(bu" 4
|
||||
Portable image format - \fC*.pbm\fP, \fC*.pgm\fP, \fC*.ppm\fP
|
||||
.IP " \(bu" 4
|
||||
Sun rasters - \fC*.sr\fP, \fC*.ras\fP
|
||||
.IP " \(bu" 4
|
||||
TIFF files - \fC*.tiff\fP, \fC*.tif\fP
|
||||
.PP
|
||||
|
||||
.br
|
||||
|
||||
.IP "\(bu" 2
|
||||
Some tips on creating screenshots:
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 4
|
||||
Use as distinct an image as possible in a screenshot. For example, the following images look very similar, but can do very different things:
|
||||
.br
|
||||
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 6
|
||||
The large amount of grey-space in each of the images can be very confusing. While the text itself is different, the overwhelming amount of grey space can result in a false positive. Limiting the space of the screenshot can be useful:
|
||||
.br
|
||||
|
||||
.IP " \(bu" 6
|
||||
Limiting the button size in this case helps the program identify what button you want to click, but in general you want to include as much detail as possible.
|
||||
.PP
|
||||
|
||||
.br
|
||||
|
||||
.IP " \(bu" 4
|
||||
Be careful of where an image may appear multiple times in a screenshot. For example, a 'Help' button on a dialog may get confused with the 'Help' menu at the top of the screen.
|
||||
.PP
|
||||
.PP
|
||||
|
||||
.PP
|
||||
.SS "Create a Testing Wrapper"
|
||||
.PD 0
|
||||
.IP "\(bu" 2
|
||||
This is where the BASH knowledge comes into play. We are going to write a script that will run your application test, to make sure that the GUI is functioning correctly.
|
||||
.IP "\(bu" 2
|
||||
The following is the (strongly) recommended process, but is not strictly necessary to follow this. The way I'm going to explain this is by giving an example test I wrote, and explain what is going on:
|
||||
.PP
|
||||
.nf
|
||||
#!/bin/bash
|
||||
#This is an application test involving libcvautomation and libreoffice
|
||||
. /usr/local/etc/libcvautomation_funcs
|
||||
|
||||
#Changing any wrapper parameters should go here
|
||||
|
||||
|
||||
start_libreoffice_writer ()
|
||||
{
|
||||
click_i 'screens/gnome-1_menu.png' 'screens/kde-1_menu.png' && sleep 1
|
||||
click_i 'screens/gnome-2_officeMenu.png' 'screens/kde-2_officeMenu.png' && sleep 1
|
||||
hover_i 'screens/gnome-3_LibreOfficeWriter.png' 'screens/kde-3_LibreOfficeWriter.png'
|
||||
jiggle_mouse
|
||||
click
|
||||
sleep 30
|
||||
}
|
||||
|
||||
close_libreoffice_writer()
|
||||
{
|
||||
click_i 'screens/gnome-4_fileMenu.png' 'screens/kde-4_fileMenu.png' && sleep 1
|
||||
click_i 'screens/gnome-5_fileExit.png' 'screens/kde-5_fileExit.png' && sleep 1
|
||||
click_i 'screens/gnome-6_discard.png' 'screens/kde-6_discard.png' && sleep 1
|
||||
}
|
||||
|
||||
start_libreoffice_writer
|
||||
close_libreoffice_writer
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.br
|
||||
|
||||
.PP
|
||||
.nf
|
||||
#!/bin/bash
|
||||
#This is an application test involving libcvautomation and libreoffice
|
||||
. /usr/local/etc/libcvautomation_funcs
|
||||
#Changing any wrapper parameters should go here
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.IP "\(bu" 2
|
||||
The purpose of these lines is just the standard BASH header. Additionally, we import a wrapper created for libcvautomation to make our job easier. Please note that this is the default directory for the wrapper, your installation may be different. Use the command \fClocate libcvautomation_funcs\fP to find it on your computer. The wrapper itself is a handful of macros used to make our job easy.
|
||||
.IP "\(bu" 2
|
||||
Changing any wrapper parameters should go after sourcing the wrapper functions. See below on \fBTesting the Testing Wrapper\fP for more information.
|
||||
.br
|
||||
|
||||
.br
|
||||
|
||||
.PP
|
||||
.nf
|
||||
start_libreoffice_writer ()
|
||||
{
|
||||
click_i 'screens/gnome-1_menu.png' 'screens/kde-1_menu.png' && sleep 1
|
||||
click_i 'screens/gnome-2_officeMenu.png' 'screens/kde-2_officeMenu.png' && sleep 1
|
||||
hover_i 'screens/gnome-3_LibreOfficeWriter.png' 'screens/kde-3_LibreOfficeWriter.png'
|
||||
jiggle_mouse
|
||||
click
|
||||
sleep 30
|
||||
}
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.IP "\(bu" 2
|
||||
This is the actual body of work done by libcvautomation
|
||||
.IP "\(bu" 2
|
||||
\fCclick_i\fP is a function to click the mouse at an image - in this case, the gnome or kde menu.
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 4
|
||||
Because of how the cva-input program is designed, you can give it multiple images, and it will only select the one currently available. See \fBTesting the Testing Wrapper\fP for more information on how to use this (TOLERANCE specifically)
|
||||
.IP " \(bu" 4
|
||||
By using the function \fCclick_i\fP, we make things a bit more readable - the full command line is \fCcva-input -s 'icmouseclick <filename>'\fP
|
||||
.IP " \(bu" 4
|
||||
See \fBAppendix of Wrapper Functions\fP for a list of all functions available in the wrapper.
|
||||
.PP
|
||||
|
||||
.IP "\(bu" 2
|
||||
\fChover_i\fP is a function to move the mouse to an image - in this case, move it over the LibreOffice menu item.
|
||||
.IP "\(bu" 2
|
||||
Then we jiggle the mouse to make sure that the item activates, click, and wait for the program to start up.
|
||||
.br
|
||||
|
||||
.br
|
||||
|
||||
.PP
|
||||
.nf
|
||||
close_libreoffice_writer()
|
||||
{
|
||||
click_i 'screens/gnome-4_fileMenu.png' 'screens/kde-4_fileMenu.png' && sleep 1
|
||||
click_i 'screens/gnome-5_fileExit.png' 'screens/kde-5_fileExit.png' && sleep 1
|
||||
click_i 'screens/gnome-6_discard.png' 'screens/kde-6_discard.png' && sleep 1
|
||||
}
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.IP "\(bu" 2
|
||||
Use the \fCclick_i\fP function to close down LibreOffice writer - Find the 'File' menu, click 'Exit', and then make sure to discard all changes.
|
||||
.br
|
||||
|
||||
.br
|
||||
|
||||
.PP
|
||||
.nf
|
||||
start_libreoffice_writer
|
||||
close_libreoffice_writer
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.IP "\(bu" 2
|
||||
Actually run the functions given.
|
||||
.br
|
||||
|
||||
.br
|
||||
|
||||
.IP "\(bu" 2
|
||||
Please note that this is a fairly trivial example. The full list of commands available in the wrapper is given in \fBAppendix of Wrapper Functions\fP
|
||||
.PP
|
||||
.SS "Testing the Testing Wrapper"
|
||||
.PD 0
|
||||
.IP "\(bu" 2
|
||||
First things first, run through the testing wrapper to make sure that everything is O.K.
|
||||
.IP "\(bu" 2
|
||||
If you need to, some things you can do to tune the application test are as follows:
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 4
|
||||
Set the \fCSEARCH_METHOD\fP
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 6
|
||||
This value adjusts how libcvautomation searches for sub-images. See \fBLibcv Search Methods\fP for more information on accepted values, and how each works.
|
||||
.PP
|
||||
|
||||
.IP " \(bu" 4
|
||||
Set the \fCTOLERANCE\fP
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 6
|
||||
This value adjusts how strict libcvautomation is when trying to find a sub-image. See \fBLibcv Search Methods\fP for more information on how to control how libcvautomation searches for images.
|
||||
.PP
|
||||
|
||||
.IP " \(bu" 4
|
||||
Set \fCUSE_SANE_TOLERANCE\fP
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 6
|
||||
This value implements a more sane way of setting the tolerance value - Where normally the tolerance ranges from \fCINT_MIN\fP to \fCINT_MAX\fP, the sane tolerance accepts values of 1 - 100 ($ 1 \approx 0 $, and $ 100 \approx INT\_MAX $)
|
||||
.IP " \(bu" 6
|
||||
To enable sane tolerance, set:
|
||||
.PP
|
||||
.nf
|
||||
USE_SANE_TOLERANCE='<any_value>'
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.IP " \(bu" 6
|
||||
To disable sane tolerance (the default) set:
|
||||
.PP
|
||||
.nf
|
||||
USE_SANE_TOLERANCE=''
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.IP " \(bu" 6
|
||||
Set \fCUSE_CENTER\fP
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 8
|
||||
By default, the wrapper will use the center of an image as opposed to the upper-left corner to click on. To disable this behavior, set:
|
||||
.PP
|
||||
.nf
|
||||
USE_CENTER=''
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.IP " \(bu" 8
|
||||
To set the behavior back to using center-based matching, set:
|
||||
.PP
|
||||
.nf
|
||||
USE_CENTER='<any_value>'
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.PP
|
||||
|
||||
.IP " \(bu" 6
|
||||
Set the \fCOUTFILE\fP and \fCERRFILE\fP
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 8
|
||||
The application wrapper logs a whole lot of information about what it does to make debugging easy. However, to make sure that you're not overwhelmed by the output, the wrapper also directs the output to \fC/dev/null\fP by default.
|
||||
.IP " \(bu" 8
|
||||
To redirect the output of \fCOUTFILE\fP and \fCERRFILE\fP, set them to any file you want. For example, the following code will create a temporary file for OUTFILE and ERRFILE, and notify you of what they are:
|
||||
.PP
|
||||
.nf
|
||||
OUTFILE=`mktemp`
|
||||
ERRFILE=`mktemp`
|
||||
echo 'OUTFILE location: $OUTFILE'
|
||||
echo 'ERRFILE location: $ERRFILE'
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.PP
|
||||
|
||||
.PP
|
||||
|
||||
.IP " \(bu" 4
|
||||
A full list of commands provided by the wrapper is available at \fBAppendix of Wrapper Functions\fP
|
||||
.PP
|
||||
.PP
|
||||
\fBNote:\fP
|
||||
.RS 4
|
||||
These options are controlled using the testing script as demonstrated above. Any modifications to the following values should be done at the line:
|
||||
.PP
|
||||
.nf
|
||||
#Changing any wrapper parameters should go here
|
||||
|
||||
.fi
|
||||
.PP
|
||||
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
.SH "Wrapping Up"
|
||||
.PP
|
||||
.PD 0
|
||||
.IP "\(bu" 2
|
||||
At this point you should have all the information you need to write your own application tests. The libcvautomation library and reference programs were designed to be simple and powerful, but if you invest the time to learn them and some expert BASH scripting, you can do some very complex things.
|
||||
.PD 0
|
||||
|
||||
.IP " \(bu" 4
|
||||
For example, integrating a \fCTest Anything Protocol\fP wrapper into your scripts as well.
|
||||
.PP
|
||||
|
||||
.IP "\(bu" 2
|
||||
If you have questions, comments, concerns, suggestions, or feedback in general, feel free to let me know at \fCbspeice@uncc.edu\fP.
|
||||
.PP
|
||||
|
478
examples/Makefile.in
Normal file
@ -0,0 +1,478 @@
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
bin_PROGRAMS = cva-match$(EXEEXT) cva-input$(EXEEXT)
|
||||
subdir = examples
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(bindir)"
|
||||
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
am_cva_input_OBJECTS = cva-input.$(OBJEXT)
|
||||
cva_input_OBJECTS = $(am_cva_input_OBJECTS)
|
||||
cva_input_LDADD = $(LDADD)
|
||||
am_cva_match_OBJECTS = cva-match.$(OBJEXT)
|
||||
cva_match_OBJECTS = $(am_cva_match_OBJECTS)
|
||||
cva_match_LDADD = $(LDADD)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(cva_input_SOURCES) $(cva_match_SOURCES)
|
||||
DIST_SOURCES = $(cva_input_SOURCES) $(cva_match_SOURCES)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOXYGEN_FALSE = @BUILD_DOXYGEN_FALSE@
|
||||
BUILD_DOXYGEN_TRUE = @BUILD_DOXYGEN_TRUE@
|
||||
BUILD_EXAMPLES_FALSE = @BUILD_EXAMPLES_FALSE@
|
||||
BUILD_EXAMPLES_TRUE = @BUILD_EXAMPLES_TRUE@
|
||||
BUILD_MAN_FALSE = @BUILD_MAN_FALSE@
|
||||
BUILD_MAN_TRUE = @BUILD_MAN_TRUE@
|
||||
BUILD_TEX_FALSE = @BUILD_TEX_FALSE@
|
||||
BUILD_TEX_TRUE = @BUILD_TEX_TRUE@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DOXYGEN_CV_VERSION = @DOXYGEN_CV_VERSION@
|
||||
Doxygen = @Doxygen@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_MAN = @ENABLE_MAN@
|
||||
ENABLE_TEX = @ENABLE_TEX@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
OpenCV_CFLAGS = @OpenCV_CFLAGS@
|
||||
OpenCV_LIBS = @OpenCV_LIBS@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
USEOPENCV2_FALSE = @USEOPENCV2_FALSE@
|
||||
USEOPENCV2_TRUE = @USEOPENCV2_TRUE@
|
||||
VERSION = @VERSION@
|
||||
X11_CFLAGS = @X11_CFLAGS@
|
||||
X11_LIBS = @X11_LIBS@
|
||||
XTest_CFLAGS = @XTest_CFLAGS@
|
||||
XTest_LIBS = @XTest_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
@USEOPENCV2_FALSE@AM_LDFLAGS = -L../libcvautomation/.libs -lcvautomation `pkg-config --libs x11` `pkg-config --libs opencv` -lXtst
|
||||
|
||||
#Need to include the -Ilibcvautomation so that libcvautomation.h can find everything that it needs
|
||||
@USEOPENCV2_TRUE@AM_LDFLAGS = -L../libcvautomation/.libs -lcvautomation `pkg-config --libs x11` -lopencv_imgproc -lopencv_core -lopencv_highgui -lXtst
|
||||
@USEOPENCV2_FALSE@AM_CFLAGS = -Wall -Werror -O2 -I$(top_srcdir)/include/opencv1 #-I$(top_srcdir)/include/libcvautomation
|
||||
@USEOPENCV2_TRUE@AM_CFLAGS = -Wall -Werror -O2 -I$(top_srcdir)/include/opencv2 #-I$(top_srcdir)/include/libcvautomation
|
||||
cva_match_SOURCES = cva-match.c
|
||||
cva_input_SOURCES = cva-input.c
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu examples/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||
if test -f $$p \
|
||||
|| test -f $$p1 \
|
||||
; then \
|
||||
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
|
||||
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-binPROGRAMS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(bindir)/$$f"; \
|
||||
done
|
||||
|
||||
clean-binPROGRAMS:
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||
echo " rm -f $$p $$f"; \
|
||||
rm -f $$p $$f ; \
|
||||
done
|
||||
cva-input$(EXEEXT): $(cva_input_OBJECTS) $(cva_input_DEPENDENCIES)
|
||||
@rm -f cva-input$(EXEEXT)
|
||||
$(LINK) $(cva_input_LDFLAGS) $(cva_input_OBJECTS) $(cva_input_LDADD) $(LIBS)
|
||||
cva-match$(EXEEXT): $(cva_match_OBJECTS) $(cva_match_DEPENDENCIES)
|
||||
@rm -f cva-match$(EXEEXT)
|
||||
$(LINK) $(cva_match_LDFLAGS) $(cva_match_OBJECTS) $(cva_match_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cva-input.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cva-match.Po@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(PROGRAMS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(bindir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-exec-am: install-binPROGRAMS
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
|
||||
clean-generic clean-libtool ctags distclean distclean-compile \
|
||||
distclean-generic distclean-libtool distclean-tags distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-binPROGRAMS install-data install-data-am install-exec \
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
323
install-sh
Executable file
@ -0,0 +1,323 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2005-05-14.22
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=
|
||||
chgrpcmd=
|
||||
stripcmd=
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dstarg=
|
||||
no_target_directory=
|
||||
|
||||
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
-c (ignored)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test -n "$1"; do
|
||||
case $1 in
|
||||
-c) shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd=$stripprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t) dstarg=$2
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-T) no_target_directory=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
*) # When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
test -n "$dir_arg$dstarg" && break
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dstarg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dstarg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dstarg=$arg
|
||||
done
|
||||
break;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test -z "$1"; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src ;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
src=
|
||||
|
||||
if test -d "$dst"; then
|
||||
mkdircmd=:
|
||||
chmodcmd=
|
||||
else
|
||||
mkdircmd=$mkdirprog
|
||||
fi
|
||||
else
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dstarg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dstarg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst ;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dstarg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dst=$dst/`basename "$src"`
|
||||
fi
|
||||
fi
|
||||
|
||||
# This sed command emulates the dirname command.
|
||||
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if test ! -d "$dstdir"; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-$defaultIFS}"
|
||||
|
||||
oIFS=$IFS
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
pathcomp=
|
||||
|
||||
while test $# -ne 0 ; do
|
||||
pathcomp=$pathcomp$1
|
||||
shift
|
||||
if test ! -d "$pathcomp"; then
|
||||
$mkdirprog "$pathcomp"
|
||||
# mkdir can fail with a `File exist' error in case several
|
||||
# install-sh are creating the directory concurrently. This
|
||||
# is OK.
|
||||
test -d "$pathcomp" || exit
|
||||
fi
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
$doit $mkdircmd "$dst" \
|
||||
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
|
||||
|
||||
else
|
||||
dstfile=`basename "$dst"`
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
$doit $cpprog "$src" "$dsttmp" &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| {
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
if test -f "$dstdir/$dstfile"; then
|
||||
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|
||||
|| {
|
||||
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
else
|
||||
:
|
||||
fi
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
||||
}
|
||||
}
|
||||
fi || { (exit 1); exit 1; }
|
||||
done
|
||||
|
||||
# The final little trick to "correctly" pass the exit status to the exit trap.
|
||||
{
|
||||
(exit 0); exit 0
|
||||
}
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
522
libcvautomation/Makefile.in
Normal file
@ -0,0 +1,522 @@
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = libcvautomation
|
||||
DIST_COMMON = $(am__pkginclude_HEADERS_DIST) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgincludedir)"
|
||||
libLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||
libcvautomation_la_LIBADD =
|
||||
am_libcvautomation_la_OBJECTS = libcvautomation-opencv.lo \
|
||||
libcvautomation-xlib.lo libcvautomation-xtest.lo
|
||||
libcvautomation_la_OBJECTS = $(am_libcvautomation_la_OBJECTS)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(libcvautomation_la_SOURCES)
|
||||
DIST_SOURCES = $(libcvautomation_la_SOURCES)
|
||||
am__pkginclude_HEADERS_DIST = $(top_srcdir)/include/opencv1/libcvautomation/libcvautomation.h \
|
||||
$(top_srcdir)/include/opencv1/libcvautomation/libcvautomation-opencv.h \
|
||||
$(top_srcdir)/include/opencv1/libcvautomation/libcvautomation-xlib.h \
|
||||
$(top_srcdir)/include/opencv1/libcvautomation/libcvautomation-xtest.h \
|
||||
$(top_srcdir)/include/opencv1/libcvautomation/xautomation_kbd.h \
|
||||
$(top_srcdir)/include/opencv1/libcvautomation/xautomation_keysym_map.h \
|
||||
$(top_srcdir)/include/opencv1/libcvautomation/xautomation_multikey_map.h \
|
||||
$(top_srcdir)/include/opencv2/libcvautomation/libcvautomation.h \
|
||||
$(top_srcdir)/include/opencv2/libcvautomation/libcvautomation-opencv.h \
|
||||
$(top_srcdir)/include/opencv2/libcvautomation/libcvautomation-xlib.h \
|
||||
$(top_srcdir)/include/opencv2/libcvautomation/libcvautomation-xtest.h \
|
||||
$(top_srcdir)/include/opencv2/libcvautomation/xautomation_kbd.h \
|
||||
$(top_srcdir)/include/opencv2/libcvautomation/xautomation_keysym_map.h \
|
||||
$(top_srcdir)/include/opencv2/libcvautomation/xautomation_multikey_map.h
|
||||
pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
|
||||
HEADERS = $(pkginclude_HEADERS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILD_DOXYGEN_FALSE = @BUILD_DOXYGEN_FALSE@
|
||||
BUILD_DOXYGEN_TRUE = @BUILD_DOXYGEN_TRUE@
|
||||
BUILD_EXAMPLES_FALSE = @BUILD_EXAMPLES_FALSE@
|
||||
BUILD_EXAMPLES_TRUE = @BUILD_EXAMPLES_TRUE@
|
||||
BUILD_MAN_FALSE = @BUILD_MAN_FALSE@
|
||||
BUILD_MAN_TRUE = @BUILD_MAN_TRUE@
|
||||
BUILD_TEX_FALSE = @BUILD_TEX_FALSE@
|
||||
BUILD_TEX_TRUE = @BUILD_TEX_TRUE@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DOXYGEN_CV_VERSION = @DOXYGEN_CV_VERSION@
|
||||
Doxygen = @Doxygen@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_MAN = @ENABLE_MAN@
|
||||
ENABLE_TEX = @ENABLE_TEX@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
OpenCV_CFLAGS = @OpenCV_CFLAGS@
|
||||
OpenCV_LIBS = @OpenCV_LIBS@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
USEOPENCV2_FALSE = @USEOPENCV2_FALSE@
|
||||
USEOPENCV2_TRUE = @USEOPENCV2_TRUE@
|
||||
VERSION = @VERSION@
|
||||
X11_CFLAGS = @X11_CFLAGS@
|
||||
X11_LIBS = @X11_LIBS@
|
||||
XTest_CFLAGS = @XTest_CFLAGS@
|
||||
XTest_LIBS = @XTest_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
@USEOPENCV2_FALSE@AM_CFLAGS = -Wall -Werror -O2 -I$(top_srcdir)/include/opencv1
|
||||
@USEOPENCV2_TRUE@AM_CFLAGS = -Wall -Werror -O2 -I$(top_srcdir)/include/opencv2
|
||||
AM_LDFLAGS =
|
||||
AM_LIBS = -shared
|
||||
|
||||
#Lists the libraries to build
|
||||
lib_LTLIBRARIES = libcvautomation.la
|
||||
libcvautomation_la_SOURCES = libcvautomation-opencv.c libcvautomation-xlib.c libcvautomation-xtest.c
|
||||
@USEOPENCV2_FALSE@pkginclude_HEADERS = $(top_srcdir)/include/opencv1/libcvautomation/libcvautomation.h $(top_srcdir)/include/opencv1/libcvautomation/libcvautomation-opencv.h $(top_srcdir)/include/opencv1/libcvautomation/libcvautomation-xlib.h $(top_srcdir)/include/opencv1/libcvautomation/libcvautomation-xtest.h $(top_srcdir)/include/opencv1/libcvautomation/xautomation_kbd.h $(top_srcdir)/include/opencv1/libcvautomation/xautomation_keysym_map.h $(top_srcdir)/include/opencv1/libcvautomation/xautomation_multikey_map.h
|
||||
#libcvautomation_CFLAGS = -shared -I$(top_srcdir)/include -I$(top_srcdir)/libcvautomation -I$(top_srcdir)/include/libcvautomation
|
||||
|
||||
#Lists the headers to distribute
|
||||
@USEOPENCV2_TRUE@pkginclude_HEADERS = $(top_srcdir)/include/opencv2/libcvautomation/libcvautomation.h $(top_srcdir)/include/opencv2/libcvautomation/libcvautomation-opencv.h $(top_srcdir)/include/opencv2/libcvautomation/libcvautomation-xlib.h $(top_srcdir)/include/opencv2/libcvautomation/libcvautomation-xtest.h $(top_srcdir)/include/opencv2/libcvautomation/xautomation_kbd.h $(top_srcdir)/include/opencv2/libcvautomation/xautomation_keysym_map.h $(top_srcdir)/include/opencv2/libcvautomation/xautomation_multikey_map.h
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libcvautomation/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu libcvautomation/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
|
||||
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-libLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
p=$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
|
||||
done
|
||||
|
||||
clean-libLTLIBRARIES:
|
||||
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" != "$$p" || dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
libcvautomation.la: $(libcvautomation_la_OBJECTS) $(libcvautomation_la_DEPENDENCIES)
|
||||
$(LINK) -rpath $(libdir) $(libcvautomation_la_LDFLAGS) $(libcvautomation_la_OBJECTS) $(libcvautomation_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcvautomation-opencv.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcvautomation-xlib.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcvautomation-xtest.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-pkgincludeHEADERS: $(pkginclude_HEADERS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)"
|
||||
@list='$(pkginclude_HEADERS)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \
|
||||
$(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \
|
||||
done
|
||||
|
||||
uninstall-pkgincludeHEADERS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkginclude_HEADERS)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(mkdir_p) $(distdir)/../include/opencv1/libcvautomation $(distdir)/../include/opencv2/libcvautomation
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgincludedir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-pkgincludeHEADERS
|
||||
|
||||
install-exec-am: install-libLTLIBRARIES
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
|
||||
uninstall-pkgincludeHEADERS
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-libLTLIBRARIES clean-libtool ctags distclean \
|
||||
distclean-compile distclean-generic distclean-libtool \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-exec \
|
||||
install-exec-am install-info install-info-am \
|
||||
install-libLTLIBRARIES install-man install-pkgincludeHEADERS \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-info-am uninstall-libLTLIBRARIES \
|
||||
uninstall-pkgincludeHEADERS
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
360
missing
Executable file
@ -0,0 +1,360 @@
|
||||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
|
||||
scriptversion=2005-06-08.21
|
||||
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
|
||||
# Free Software Foundation, Inc.
|
||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
run=:
|
||||
|
||||
# In the cases where this matters, `missing' is being run in the
|
||||
# srcdir already.
|
||||
if test -f configure.ac; then
|
||||
configure_ac=configure.ac
|
||||
else
|
||||
configure_ac=configure.in
|
||||
fi
|
||||
|
||||
msg="missing on your system"
|
||||
|
||||
case "$1" in
|
||||
--run)
|
||||
# Try to run requested program, and just exit if it succeeds.
|
||||
run=
|
||||
shift
|
||||
"$@" && exit 0
|
||||
# Exit code 63 means version mismatch. This often happens
|
||||
# when the user try to use an ancient version of a tool on
|
||||
# a file that requires a minimum version. In this case we
|
||||
# we should proceed has if the program had been absent, or
|
||||
# if --run hadn't been passed.
|
||||
if test $? = 63; then
|
||||
run=:
|
||||
msg="probably too old"
|
||||
fi
|
||||
;;
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||
error status if there is no known handling for PROGRAM.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
--run try to run the given command, and emulate it if it fails
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal touch file \`aclocal.m4'
|
||||
autoconf touch file \`configure'
|
||||
autoheader touch file \`config.h.in'
|
||||
automake touch all \`Makefile.in' files
|
||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
flex create \`lex.yy.c', if possible, from existing .c
|
||||
help2man touch the output file
|
||||
lex create \`lex.yy.c', if possible, from existing .c
|
||||
makeinfo touch the output file
|
||||
tar try tar, gnutar, gtar, then tar without non-portable flags
|
||||
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
|
||||
Send bug reports to <bug-automake@gnu.org>."
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing $scriptversion (GNU Automake)"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: Unknown \`$1' option"
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# Now exit if we have it, but it failed. Also exit now if we
|
||||
# don't have it and --version was passed (most likely to detect
|
||||
# the program).
|
||||
case "$1" in
|
||||
lex|yacc)
|
||||
# Not GNU programs, they don't have --version.
|
||||
;;
|
||||
|
||||
tar)
|
||||
if test -n "$run"; then
|
||||
echo 1>&2 "ERROR: \`tar' requires --run"
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
# Could not run --version or --help. This is probably someone
|
||||
# running `$TOOL --version' or `$TOOL --help' to check whether
|
||||
# $TOOL exists and not knowing $TOOL uses missing.
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# If it does not exist, or fails to run (possibly an outdated version),
|
||||
# try to emulate it.
|
||||
case "$1" in
|
||||
aclocal*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||
any GNU archive site."
|
||||
touch aclocal.m4
|
||||
;;
|
||||
|
||||
autoconf)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`${configure_ac}'. You might want to install the
|
||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||
archive site."
|
||||
touch configure
|
||||
;;
|
||||
|
||||
autoheader)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||
from any GNU archive site."
|
||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||
test -z "$files" && files="config.h"
|
||||
touch_files=
|
||||
for f in $files; do
|
||||
case "$f" in
|
||||
*:*) touch_files="$touch_files "`echo "$f" |
|
||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||
*) touch_files="$touch_files $f.in";;
|
||||
esac
|
||||
done
|
||||
touch $touch_files
|
||||
;;
|
||||
|
||||
automake*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
||||
You might want to install the \`Automake' and \`Perl' packages.
|
||||
Grab them from any GNU archive site."
|
||||
find . -type f -name Makefile.am -print |
|
||||
sed 's/\.am$/.in/' |
|
||||
while read f; do touch "$f"; done
|
||||
;;
|
||||
|
||||
autom4te)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, but is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them.
|
||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
||||
archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
||||
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo "#! /bin/sh"
|
||||
echo "# Created by GNU Automake missing as a replacement of"
|
||||
echo "# $ $@"
|
||||
echo "exit 0"
|
||||
chmod +x $file
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
bison|yacc)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' $msg. You should only need it if
|
||||
you modified a \`.y' file. You may need the \`Bison' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Bison' from any GNU archive site."
|
||||
rm -f y.tab.c y.tab.h
|
||||
if [ $# -ne 1 ]; then
|
||||
eval LASTARG="\${$#}"
|
||||
case "$LASTARG" in
|
||||
*.y)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" y.tab.c
|
||||
fi
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" y.tab.h
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -f y.tab.h ]; then
|
||||
echo >y.tab.h
|
||||
fi
|
||||
if [ ! -f y.tab.c ]; then
|
||||
echo 'main() { return 0; }' >y.tab.c
|
||||
fi
|
||||
;;
|
||||
|
||||
lex|flex)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.l' file. You may need the \`Flex' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Flex' from any GNU archive site."
|
||||
rm -f lex.yy.c
|
||||
if [ $# -ne 1 ]; then
|
||||
eval LASTARG="\${$#}"
|
||||
case "$LASTARG" in
|
||||
*.l)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" lex.yy.c
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -f lex.yy.c ]; then
|
||||
echo 'main() { return 0; }' >lex.yy.c
|
||||
fi
|
||||
;;
|
||||
|
||||
help2man)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a dependency of a manual page. You may need the
|
||||
\`Help2man' package in order for those modifications to take
|
||||
effect. You can get \`Help2man' from any GNU archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
|
||||
fi
|
||||
if [ -f "$file" ]; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo ".ab help2man is required to generate this page"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
makeinfo)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||
indirectly affecting the aspect of the manual. The spurious
|
||||
call might also be the consequence of using a buggy \`make' (AIX,
|
||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||
the \`GNU make' package. Grab either from any GNU archive site."
|
||||
# The file to touch is that specified with -o ...
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
# ... or it is the one specified with @setfilename ...
|
||||
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
|
||||
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
||||
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
||||
fi
|
||||
# If the file does not exist, the user really needs makeinfo;
|
||||
# let's fail without touching anything.
|
||||
test -f $file || exit 1
|
||||
touch $file
|
||||
;;
|
||||
|
||||
tar)
|
||||
shift
|
||||
|
||||
# We have already tried tar in the generic part.
|
||||
# Look for gnutar/gtar before invocation to avoid ugly error
|
||||
# messages.
|
||||
if (gnutar --version > /dev/null 2>&1); then
|
||||
gnutar "$@" && exit 0
|
||||
fi
|
||||
if (gtar --version > /dev/null 2>&1); then
|
||||
gtar "$@" && exit 0
|
||||
fi
|
||||
firstarg="$1"
|
||||
if shift; then
|
||||
case "$firstarg" in
|
||||
*o*)
|
||||
firstarg=`echo "$firstarg" | sed s/o//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
case "$firstarg" in
|
||||
*h*)
|
||||
firstarg=`echo "$firstarg" | sed s/h//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||
You may want to install GNU tar or Free paxutils, or check the
|
||||
command line arguments."
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them. Check the \`README' file,
|
||||
it often tells you about the needed prerequisites for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing \`$1' program."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
Before Width: | Height: | Size: 706 B |
Before Width: | Height: | Size: 678 B |
@ -1,36 +0,0 @@
|
||||
#!/bin/bash -
|
||||
#===============================================================================
|
||||
#
|
||||
# FILE: openCVLogo.sh
|
||||
#
|
||||
# USAGE: ./openCVLogo.sh
|
||||
#
|
||||
# DESCRIPTION: This is a test script to demonstrate libcvautomation
|
||||
# We are going to find different sections of the OpenCV logo
|
||||
# in itself.
|
||||
#
|
||||
# OPTIONS: ---
|
||||
# REQUIREMENTS: ---
|
||||
# BUGS: ---
|
||||
# NOTES: ---
|
||||
# AUTHOR: Bradlee Speice (), bspeice.nc@gmail.com
|
||||
# ORGANIZATION:
|
||||
# CREATED: 06/21/2012 03:45:19 PM EDT
|
||||
# REVISION: ---
|
||||
#===============================================================================
|
||||
|
||||
CVAMATCH=`which cva-match`
|
||||
|
||||
if [ ! -x "$CVA_MATCH" ]; then
|
||||
echo "Could not find the cva-match binary! Can't continue..."
|
||||
exit 255
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Finding the red circle in the OpenCV logo..."
|
||||
echo "The red circle is located at: `$CVAMATCH -r opencvlogo.png -s redcircle.png -p ', ' | cut -d',' -f2-`"
|
||||
echo "Finding the blue circle in the OpenCV logo..."
|
||||
echo "The blue circle is located at: `$CVAMATCH -r opencvlogo.png -s bluecircle.png -p ', ' | cut -d',' -f2-`"
|
||||
echo "Finding the green circle in the OpenCV logo..."
|
||||
echo "The green circle is located at: `$CVAMATCH -r opencvlogo.png -s greencircle.png -p ', ' | cut -d',' -f2-`"
|
||||
echo
|
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 731 B |