-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.am
164 lines (139 loc) · 5.7 KB
/
Makefile.am
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# The top-level input Makefile for OpenCV
# tell make where aclocal finds its files in Maintainer Mode
ACLOCAL_AMFLAGS = -I autotools/aclocal
## Any directories that you want built and installed should go here.
if BUILD_APPS
APPS_DIR = apps
else
APPS_DIR =
endif
SUBDIRS = 3rdparty src include utils interfaces $(APPS_DIR) tests samples data
# All the rest of the distributed files
EXTRA_DIST = \
THANKS \
TODO \
opencv.spec \
opencv.spec.in \
opencv.pc \
opencv.pc.in \
\
make_frameworks.sh \
autotools/darwin/Info.plist \
autotools/darwin/OpenCV.h \
\
CMakeLists.txt \
opencv.pc.cmake.in \
Package.cmake.in \
cmake_uninstall.cmake.in \
OpenCVConfig.cmake.in \
OpenCVFindPkgConfig.cmake \
OpenCVPCHSupport.cmake \
cvconfig.h.cmake \
\
doc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = opencv.pc
# Rule to build tar-gzipped distribution package
$(PACKAGE)-$(VERSION).tar.gz: dist
dist-hook:
rm -rf `find $(distdir) -name .svn`
# Rule to build RPM distribution package
rpm: $(PACKAGE)-$(VERSION).tar.gz
rpm -ta $(PACKAGE)-$(VERSION).tar.gz
# Rule to install the libraries only - prevent rebuilding apps
install-lib:
cd src && $(MAKE) install-libLTLIBRARIES
# Run ldconfig after installing the library:
install-exec-hook:
-ldconfig
# rule that gets added to the clean target by Automake
clean-local: clean-framework
# FRAMEWORK ###################################################################
#
# The following section is dedicated to Darwin / Mac OS X framework builds.
# It currently creates a private framework (see Apple documentation) that
# cannot be placed to the /Library/Framework locations but is intended to get
# copied into application bundles.
#
# You should usually not invoke this target directly but use the shell script
# 'make_frameworks.sh' instead that will create the most sensible
# default installation (universal build).
#
# See: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/
#
FRAMEWORK_NAME = OpenCV
FRAMEWORK_VERSION = B
FRAMEWORK_CURRENT_VERSION = 0
FRAMEWORK_COMPAT_VERSION = 0
# install path to be set in calling script
# FRAMEWORK_INSTALL_PATH = executable_path/../Frameworks
# architecture to be set in calling script
# FRAMEWORK_ARCH = i386
FRAMEWORK_INSTALL_NAME = $(FRAMEWORK_INSTALL_PATH)/$(FRAMEWORK_NAME).framework/Versions/$(FRAMEWORK_VERSION)/$(FRAMEWORK_NAME)
FRAMEWORK_XHEADERS = \
$(top_srcdir)/autotools/darwin/OpenCV.h \
$(top_srcdir)/include/opencv/cv.h \
$(top_srcdir)/include/opencv/cv.hpp \
$(top_srcdir)/include/opencv/cvaux.h \
$(top_srcdir)/include/opencv/cvaux.hpp \
$(top_srcdir)/include/opencv/cvcompat.h \
$(top_srcdir)/include/opencv/cvstreams.h \
$(top_srcdir)/include/opencv/cvtypes.h \
$(top_srcdir)/include/opencv/cvver.h \
$(top_srcdir)/include/opencv/cvvidsurv.hpp \
$(top_srcdir)/include/opencv/cvwimage.h \
$(top_srcdir)/include/opencv/cxcore.h \
$(top_srcdir)/include/opencv/cxcore.hpp \
$(top_srcdir)/include/opencv/cxerror.h \
$(top_srcdir)/include/opencv/cxflann.h \
$(top_srcdir)/include/opencv/cxmat.hpp \
$(top_srcdir)/include/opencv/cxmisc.h \
$(top_srcdir)/include/opencv/cxoperations.hpp \
$(top_srcdir)/include/opencv/cxtypes.h \
$(top_srcdir)/include/opencv/highgui.h \
$(top_srcdir)/include/opencv/highgui.hpp \
$(top_srcdir)/include/opencv/ml.h
FRAMEWORK_OFILES = \
$(top_builddir)/3rdparty/.libs/lib_clapack.a \
$(top_builddir)/3rdparty/.libs/lib_flann.a \
$(top_builddir)/src/.libs/lib_cxcore.a \
$(top_builddir)/src/.libs/lib_cv.a \
$(top_builddir)/src/.libs/lib_cvaux.a \
$(top_builddir)/src/.libs/lib_ml.a \
$(top_builddir)/src/.libs/lib_highgui.a
FRAMEWORK_XLIBRARIES = -lz -framework Carbon -framework QuickTime -framework QuartzCore
FRAMEWORK_DOCUMENTATION =
#\
# $(top_srcdir)/doc/license.txt \
# $(top_srcdir)/doc/index.htm \
# $(top_srcdir)/doc/faq.htm \
# $(top_srcdir)/doc/ref
FMWK_CC = g++-4.2 -fopenmp -dynamiclib -all_load -Wl,-single_module -Wl,-Y,100
framework: all clean-framework
@echo "Setting up framework directories..."
mkdir -p $(FRAMEWORK_NAME).framework
mkdir -p $(FRAMEWORK_NAME).framework/Versions
mkdir -p $(FRAMEWORK_NAME).framework/Versions/$(FRAMEWORK_VERSION)
mkdir -p $(FRAMEWORK_NAME).framework/Versions/$(FRAMEWORK_VERSION)/Resources
mkdir -p $(FRAMEWORK_NAME).framework/Versions/$(FRAMEWORK_VERSION)/Headers
mkdir -p $(FRAMEWORK_NAME).framework/Versions/$(FRAMEWORK_VERSION)/Documentation
@echo "Creating framework symlinks..."
ln -s $(FRAMEWORK_VERSION) $(FRAMEWORK_NAME).framework/Versions/Current
ln -s Versions/Current/Headers $(FRAMEWORK_NAME).framework/Headers
ln -s Versions/Current/Resources $(FRAMEWORK_NAME).framework/Resources
ln -s Versions/Current/Documentation $(FRAMEWORK_NAME).framework/Documentation
ln -s Versions/Current/$(FRAMEWORK_NAME) $(FRAMEWORK_NAME).framework/$(FRAMEWORK_NAME)
@echo "Building framework data..."
$(FMWK_CC) \
-arch $(FRAMEWORK_ARCH) \
-compatibility_version $(FRAMEWORK_COMPAT_VERSION) \
-current_version $(FRAMEWORK_CURRENT_VERSION) \
-install_name $(FRAMEWORK_INSTALL_NAME) \
-o $(FRAMEWORK_NAME).framework/Versions/Current/$(FRAMEWORK_NAME) \
$(FRAMEWORK_OFILES) $(FRAMEWORK_XLIBRARIES)
strip -x $(FRAMEWORK_NAME).framework/Versions/Current/$(FRAMEWORK_NAME)
cp $(FRAMEWORK_XHEADERS) $(FRAMEWORK_NAME).framework/Headers/
cp $(top_srcdir)/autotools/darwin/Info.plist $(FRAMEWORK_NAME).framework/Resources/
# cp -r $(FRAMEWORK_DOCUMENTATION) $(FRAMEWORK_NAME).framework/Documentation/
clean-framework:
rm -rf $(FRAMEWORK_NAME).framework build_i386 build_ppc build_x86_64 build_ppc64