• Roman Donchenko's avatar
    Merge remote-tracking branch 'origin/2.4' into merge-2.4 · 72aabb8a
    Roman Donchenko authored
    Conflicts:
    	CMakeLists.txt
    	cmake/OpenCVGenAndroidMK.cmake
    	cmake/templates/OpenCV.mk.in
    	doc/tutorials/viz/creating_widgets/creating_widgets.rst
    	doc/tutorials/viz/launching_viz/launching_viz.rst
    	doc/tutorials/viz/table_of_content_viz/images/image_effects.png
    	doc/tutorials/viz/transformations/transformations.rst
    	doc/tutorials/viz/widget_pose/widget_pose.rst
    	modules/core/include/opencv2/core/affine.hpp
    	modules/core/include/opencv2/core/core.hpp
    	modules/gpu/perf/perf_imgproc.cpp
    	modules/gpu/src/cuda/canny.cu
    	modules/gpu/src/cuda/generalized_hough.cu
    	modules/gpu/src/generalized_hough.cpp
    	modules/gpu/src/imgproc.cpp
    	modules/gpu/test/test_color.cpp
    	modules/gpu/test/test_core.cpp
    	modules/gpu/test/test_gpumat.cpp
    	modules/gpu/test/test_hough.cpp
    	modules/nonfree/CMakeLists.txt
    	modules/nonfree/include/opencv2/nonfree/gpu.hpp
    	modules/nonfree/perf/perf_gpu.cpp
    	modules/nonfree/src/cuda/surf.cu
    	modules/nonfree/src/precomp.hpp
    	modules/nonfree/src/surf_gpu.cpp
    	modules/nonfree/test/test_gpu.cpp
    	modules/ocl/perf/perf_haar.cpp
    	modules/stitching/CMakeLists.txt
    	modules/stitching/include/opencv2/stitching/detail/matchers.hpp
    	modules/stitching/include/opencv2/stitching/detail/seam_finders.hpp
    	modules/stitching/include/opencv2/stitching/detail/warpers.hpp
    	modules/stitching/include/opencv2/stitching/warpers.hpp
    	modules/stitching/src/blenders.cpp
    	modules/stitching/src/matchers.cpp
    	modules/stitching/src/precomp.hpp
    	modules/stitching/src/seam_finders.cpp
    	modules/stitching/src/stitcher.cpp
    	modules/stitching/src/warpers.cpp
    	modules/viz/doc/widget.rst
    	modules/viz/include/opencv2/viz/types.hpp
    	modules/viz/include/opencv2/viz/viz3d.hpp
    	modules/viz/include/opencv2/viz/widget_accessor.hpp
    	modules/viz/src/precomp.hpp
    	modules/viz/src/shapes.cpp
    	modules/viz/src/vizcore.cpp
    	modules/viz/src/vtk/vtkCloudMatSink.h
    	modules/viz/src/vtk/vtkCloudMatSource.h
    	modules/viz/test/test_precomp.hpp
    	modules/viz/test/tests_simple.cpp
    	samples/android/tutorial-4-cuda/CMakeLists.txt
    	samples/android/tutorial-4-cuda/jni/Android.mk
    	samples/android/tutorial-4-cuda/src/org/opencv/samples/tutorial4/Tutorial4Activity.java
    	samples/cpp/stitching_detailed.cpp
    	samples/cpp/tutorial_code/viz/creating_widgets.cpp
    	samples/cpp/tutorial_code/viz/launching_viz.cpp
    	samples/cpp/tutorial_code/viz/transformations.cpp
    	samples/cpp/tutorial_code/viz/widget_pose.cpp
    72aabb8a
OpenCV.mk.in 4.86 KB
# In order to compile your application under cygwin
# you might need to define NDK_USE_CYGPATH=1 before calling the ndk-build

USER_LOCAL_PATH:=$(LOCAL_PATH)

USER_LOCAL_C_INCLUDES:=$(LOCAL_C_INCLUDES)
USER_LOCAL_CFLAGS:=$(LOCAL_CFLAGS)
USER_LOCAL_STATIC_LIBRARIES:=$(LOCAL_STATIC_LIBRARIES)
USER_LOCAL_SHARED_LIBRARIES:=$(LOCAL_SHARED_LIBRARIES)
USER_LOCAL_LDLIBS:=$(LOCAL_LDLIBS)

LOCAL_PATH:=$(subst ?,,$(firstword ?$(subst \, ,$(subst /, ,$(call my-dir)))))

OPENCV_TARGET_ARCH_ABI:=$(TARGET_ARCH_ABI)
OPENCV_THIS_DIR:=$(patsubst $(LOCAL_PATH)\\%,%,$(patsubst $(LOCAL_PATH)/%,%,$(call my-dir)))
OPENCV_MK_DIR:=$(dir $(lastword $(MAKEFILE_LIST)))
OPENCV_LIBS_DIR:=@OPENCV_LIBS_DIR_CONFIGCMAKE@
OPENCV_3RDPARTY_LIBS_DIR:=@OPENCV_3RDPARTY_LIBS_DIR_CONFIGCMAKE@
OPENCV_BASEDIR:=@OPENCV_BASE_INCLUDE_DIR_CONFIGCMAKE@
OPENCV_LOCAL_C_INCLUDES:=@OPENCV_INCLUDE_DIRS_CONFIGCMAKE@
OPENCV_MODULES:=@OPENCV_MODULES_CONFIGMAKE@

ifeq ($(OPENCV_LIB_TYPE),)
    OPENCV_LIB_TYPE:=@OPENCV_LIBTYPE_CONFIGMAKE@
endif

ifeq ($(OPENCV_LIB_TYPE),SHARED)
    OPENCV_LIBS:=@OPENCV_LIBS_CONFIGMAKE@
    OPENCV_LIB_TYPE:=@OPENCV_LIBTYPE_CONFIGMAKE@
else
    OPENCV_LIBS:=$(OPENCV_MODULES)
    OPENCV_LIB_TYPE:=@OPENCV_STATIC_LIBTYPE_CONFIGMAKE@
endif

ifeq ($(OPENCV_LIB_TYPE),SHARED)
    OPENCV_3RDPARTY_COMPONENTS:=
    OPENCV_EXTRA_COMPONENTS:=
else
    ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
        OPENCV_3RDPARTY_COMPONENTS:=@OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE@
        OPENCV_EXTRA_COMPONENTS:=@OPENCV_EXTRA_COMPONENTS_CONFIGMAKE@
    endif
    ifeq ($(TARGET_ARCH_ABI),x86)
        OPENCV_3RDPARTY_COMPONENTS:=@OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE@
        OPENCV_EXTRA_COMPONENTS:=@OPENCV_EXTRA_COMPONENTS_CONFIGMAKE@
    endif
    ifeq ($(TARGET_ARCH_ABI),armeabi)
        OPENCV_3RDPARTY_COMPONENTS:=@OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE_NO_TBB@
        OPENCV_EXTRA_COMPONENTS:=@OPENCV_EXTRA_COMPONENTS_CONFIGMAKE@
    endif
    ifeq ($(TARGET_ARCH_ABI),mips)
        OPENCV_3RDPARTY_COMPONENTS:=@OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE@
        OPENCV_EXTRA_COMPONENTS:=@OPENCV_EXTRA_COMPONENTS_CONFIGMAKE@
    endif
endif

ifeq ($(OPENCV_CAMERA_MODULES),on)
    ifeq ($(TARGET_ARCH_ABI),armeabi)
        OPENCV_CAMERA_MODULES:=@OPENCV_CAMERA_LIBS_ARMEABI_CONFIGCMAKE@
    endif
    ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
        OPENCV_CAMERA_MODULES:=@OPENCV_CAMERA_LIBS_ARMEABI_V7A_CONFIGCMAKE@
    endif
    ifeq ($(TARGET_ARCH_ABI),x86)
        OPENCV_CAMERA_MODULES:=@OPENCV_CAMERA_LIBS_X86_CONFIGCMAKE@
    endif
    ifeq ($(TARGET_ARCH_ABI),mips)
        OPENCV_CAMERA_MODULES:=@OPENCV_CAMERA_LIBS_MIPS_CONFIGCMAKE@
    endif
else
    OPENCV_CAMERA_MODULES:=
endif

ifeq ($(OPENCV_LIB_TYPE),SHARED)
    OPENCV_LIB_SUFFIX:=so
else
    OPENCV_LIB_SUFFIX:=a
    OPENCV_INSTALL_MODULES:=on
endif

define add_opencv_module
    include $(CLEAR_VARS)
    LOCAL_MODULE:=opencv_$1
    LOCAL_SRC_FILES:=$(OPENCV_LIBS_DIR)/libopencv_$1.$(OPENCV_LIB_SUFFIX)
    include $(PREBUILT_$(OPENCV_LIB_TYPE)_LIBRARY)
endef

define add_opencv_3rdparty_component
    include $(CLEAR_VARS)
    LOCAL_MODULE:=$1
    LOCAL_SRC_FILES:=$(OPENCV_3RDPARTY_LIBS_DIR)/lib$1.a
    include $(PREBUILT_STATIC_LIBRARY)
endef

define add_opencv_camera_module
    include $(CLEAR_VARS)
    LOCAL_MODULE:=$1
    LOCAL_SRC_FILES:=$(OPENCV_LIBS_DIR)/lib$1.so
    include $(PREBUILT_SHARED_LIBRARY)
endef

ifeq ($(OPENCV_MK_$(OPENCV_TARGET_ARCH_ABI)_ALREADY_INCLUDED),)
    ifeq ($(OPENCV_INSTALL_MODULES),on)
        $(foreach module,$(OPENCV_LIBS),$(eval $(call add_opencv_module,$(module))))
    endif

    $(foreach module,$(OPENCV_3RDPARTY_COMPONENTS),$(eval $(call add_opencv_3rdparty_component,$(module))))
    $(foreach module,$(OPENCV_CAMERA_MODULES),$(eval $(call add_opencv_camera_module,$(module))))

    ifneq ($(OPENCV_BASEDIR),)
        OPENCV_LOCAL_C_INCLUDES += $(foreach mod, $(OPENCV_MODULES), $(OPENCV_BASEDIR)/modules/$(mod)/include)
    endif

    #turn off module installation to prevent their redefinition
    OPENCV_MK_$(OPENCV_TARGET_ARCH_ABI)_ALREADY_INCLUDED:=on
endif

ifeq ($(OPENCV_LOCAL_CFLAGS),)
    OPENCV_LOCAL_CFLAGS := -fPIC -DANDROID -fsigned-char
endif

include $(CLEAR_VARS)

LOCAL_C_INCLUDES:=$(USER_LOCAL_C_INCLUDES)
LOCAL_CFLAGS:=$(USER_LOCAL_CFLAGS)
LOCAL_STATIC_LIBRARIES:=$(USER_LOCAL_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES:=$(USER_LOCAL_SHARED_LIBRARIES)
LOCAL_LDLIBS:=$(USER_LOCAL_LDLIBS)

LOCAL_C_INCLUDES += $(OPENCV_LOCAL_C_INCLUDES)
LOCAL_CFLAGS     += $(OPENCV_LOCAL_CFLAGS)

ifeq ($(OPENCV_INSTALL_MODULES),on)
    LOCAL_$(OPENCV_LIB_TYPE)_LIBRARIES += $(foreach mod, $(OPENCV_LIBS), opencv_$(mod))
else
    LOCAL_LDLIBS += -L$(call host-path,$(LOCAL_PATH)/$(OPENCV_LIBS_DIR)) $(foreach lib, $(OPENCV_LIBS), -lopencv_$(lib))
endif

ifeq ($(OPENCV_LIB_TYPE),STATIC)
    LOCAL_STATIC_LIBRARIES += $(OPENCV_3RDPARTY_COMPONENTS)
endif

LOCAL_LDLIBS += $(foreach lib,$(OPENCV_EXTRA_COMPONENTS), -l$(lib))

#restore the LOCAL_PATH
LOCAL_PATH:=$(USER_LOCAL_PATH)