# # iPhone用 OpenCV.framework の作成 # # # 使い方: # # 1) opencv-1.1pre1.tar.gz をダウンロードして解凍 # http://sourceforge.net/project/showfiles.php?group_id=22870&package_id=16948&release_id=634504 # 2) http://github.com/niw/iphone_opencv_test/tree/master から opencv_build_scripts のフォルダを持ってきて # opencv-1.1.0フォルダと同じ階層になるように配置する(注意:opencv-1.1.0 の下ではない!) # 3) このファイルを opencv-1.1.0フォルダの下に配置 # 4) make -f Makefile.iphone # # 引数: # # all(省略時) -- config から framework の作成まで # config -- ビルドディレクトリの作成と configure # clean -- 作成されたオブジェクトの削除 # clean-all -- ビルドディレクトリも含めた全削除 # clean-framework -- framework のみの削除 # top_srcdir = $(shell pwd) SCRIPT_DIR = $(top_srcdir)/../opencv_build_scripts DEVROOT = /Developer/Platforms/iPhoneOS.platform/Developer FRAMEWORK_NAME = OpenCV FRAMEWORK_VERSION = A FRAMEWORK_CURRENT_VERSION = 1.1 FRAMEWORK_COMPAT_VERSION = 1.1 FRAMEWORK_XHEADERS = \ $(top_srcdir)/autotools/darwin/OpenCV.h \ $(top_srcdir)/cxcore/include/cxcore.h \ $(top_srcdir)/cxcore/include/cxerror.h \ $(top_srcdir)/cxcore/include/cxtypes.h \ $(top_srcdir)/cxcore/include/cxmisc.h \ $(top_srcdir)/cxcore/include/cxcore.hpp \ $(top_srcdir)/cxcore/include/cvver.h \ $(top_srcdir)/cv/include/cv.h \ $(top_srcdir)/cv/include/cvcompat.h \ $(top_srcdir)/cv/include/cvtypes.h \ $(top_srcdir)/cv/include/cv.hpp \ $(top_srcdir)/cvaux/include/cvaux.h \ $(top_srcdir)/cvaux/include/cvmat.hpp \ $(top_srcdir)/cvaux/include/cvaux.hpp \ $(top_srcdir)/cvaux/include/cvvidsurv.hpp \ $(top_srcdir)/ml/include/ml.h \ $(top_srcdir)/otherlibs/highgui/highgui.h FRAMEWORK_DOCUMENTATION = \ $(top_srcdir)/docs/license.txt \ $(top_srcdir)/docs/index.htm \ $(top_srcdir)/docs/faq.htm \ $(top_srcdir)/docs/ref FRAMEWORK_LIBS = \ cxcore/src/.libs/libcxcore.a \ cv/src/.libs/libcv.a \ cvaux/src/.libs/libcvaux.a \ ml/src/.libs/libml.a \ otherlibs/highgui/.libs/libhighgui.a TARGETS = armv6 sim all: config $(TARGETS) framework clean: clean-framework @for target in $(TARGETS); do \ subdir=build_$$target; \ if [ -d $$subdir ]; then \ (cd $$subdir && $(MAKE) clean) || exit 1; \ fi; \ done clean-all: clean-framework @for target in $(TARGETS); do \ rm -rf build_$$target; \ done clean-framework: rm -rf $(FRAMEWORK_NAME).framework config: @for target in $(TARGETS); do \ subdir=build_$$target; \ mkdir -p $$subdir; \ (cd $$subdir && $(SCRIPT_DIR)/configure_$$target.sh) || exit 1; \ done framework: autotools/darwin @echo "Make framework" rm -rf $(FRAMEWORK_NAME).framework 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..." @for f in $(FRAMEWORK_LIBS); do \ fname=$$(basename $$f); \ echo "lipo" $$fname; \ $(DEVROOT)/usr/bin/lipo -create \ -arch armv6 build_armv6/$$f \ -arch i386 build_sim/$$f \ -output $(FRAMEWORK_NAME).framework/Versions/A/$$fname; \ ln -s Versions/Current/$$fname $(FRAMEWORK_NAME).framework/$$fname; \ done cp $(FRAMEWORK_XHEADERS) $(FRAMEWORK_NAME).framework/Headers/ cp -r $(FRAMEWORK_DOCUMENTATION) $(FRAMEWORK_NAME).framework/Documentation/ cp $(top_srcdir)/autotools/darwin/Info.plist $(FRAMEWORK_NAME).framework/Resources/ @echo "done." armv6: $(MAKE) -C build_armv6 sim: build_sim/Makefile $(MAKE) -C build_sim autotools/darwin: svn export http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot/opencv/autotools/darwin autotools/darwin