An error occurred while loading the file. Please try again.
-
Ghislain MARY authored
Use CMAKE_TOOLCHAIN_FILE to specify toolchain and add LINPHONE_BUILDER_CONFIG_FILE option to specify the build configuration to use.
28fbeb04
############################################################################
# Makefile
# Copyright (C) 2014 Belledonne Communications, Grenoble France
#
############################################################################
#
# 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
# of the License, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
############################################################################
NUMCPUS?=$(shell grep -c '^processor' /proc/cpuinfo || echo "1" )
.PHONY: build-desktop build-bb10-i486 build-bb10-arm build-bb10 build-ios-i386 build-ios-armv7 build-ios-armv7s
all: build-desktop
build-desktop:
mkdir -p WORK/cmake-desktop && \
cd WORK/cmake-desktop && \
cmake ../.. $(filter -D%,$(MAKEFLAGS)) && \
make -j $(NUMCPUS)
clean-desktop:
rm -rf WORK/Build-desktop && \
rm -rf WORK/tmp-desktop
build-bb10-i486:
mkdir -p OUTPUT/liblinphone-bb10-sdk && \
mkdir -p WORK/cmake-bb10-i486 && \
cd WORK/cmake-bb10-i486 && \
cmake ../.. -DCMAKE_TOOLCHAIN_FILE=toolchains/toolchain-bb10-i486.cmake -DLINPHONE_BUILDER_CONFIG_FILE=configs/config-bb10-i486.cmake -DCMAKE_PREFIX_PATH=../../OUTPUT/liblinphone-bb10-sdk/i486 -DCMAKE_INSTALL_PREFIX=../../OUTPUT/liblinphone-bb10-sdk/i486 $(filter -D%,$(MAKEFLAGS)) && \
make -j $(NUMCPUS)
build-bb10-arm:
mkdir -p OUTPUT/liblinphone-bb10-sdk && \
mkdir -p WORK/cmake-bb10-arm && \
cd WORK/cmake-bb10-arm && \
cmake ../.. -DCMAKE_TOOLCHAIN_FILE=toolchains/toolchain-bb10-arm.cmake -DLINPHONE_BUILDER_CONFIG_FILE=configs/config-bb10-arm.cmake -DCMAKE_PREFIX_PATH=../../OUTPUT/liblinphone-bb10-sdk/arm -DCMAKE_INSTALL_PREFIX=../../OUTPUT/liblinphone-bb10-sdk/arm $(filter -D%,$(MAKEFLAGS)) && \
make -j $(NUMCPUS)
build-bb10: build-bb10-i486 build-bb10-arm
clean-bb10-i486:
rm -rf WORK/Build-bb10-i486 && \
rm -rf WORK/tmp-bb10-i486 && \
rm -rf OUTPUT/liblinphone-bb10-sdk/i486
clean-bb10-arm:
rm -rf WORK/Build-bb10-arm && \
rm -rf WORK/tmp-bb10-arm && \
rm -rf OUTPUT/liblinphone-bb10-sdk/arm
clean-bb10: clean-bb10-i486 clean-bb10-arm
help-bb10:
mkdir -p OUTPUT/liblinphone-bb10-sdk && \
mkdir -p WORK/cmake-bb10-i486 && \
cd WORK/cmake-bb10-i486 && \
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
cmake ../.. -DCMAKE_TOOLCHAIN_FILE=toolchains/toolchain-bb10-i486.cmake -DLINPHONE_BUILDER_CONFIG_FILE=configs/config-bb10-i486.cmake -DCMAKE_PREFIX_PATH=../../OUTPUT/liblinphone-bb10-sdk/i486 -DCMAKE_INSTALL_PREFIX=../../OUTPUT/liblinphone-bb10-sdk/i486 $(filter -D%,$(MAKEFLAGS)) -LH
generate-bb10-sdk: build-bb10
cd OUTPUT && \
zip -r liblinphone-bb10-sdk.zip liblinphone-bb10-sdk
build-ios-i386:
mkdir -p OUTPUT/liblinphone-ios-sdk && \
mkdir -p WORK/cmake-ios-i386 && \
cd WORK/cmake-ios-i386 && \
cmake ../.. -DCMAKE_TOOLCHAIN_FILE=toolchains/toolchain-ios-i386.cmake -DLINPHONE_BUILDER_CONFIG_FILE=configs/config-ios-i386.cmake -DCMAKE_PREFIX_PATH=../../OUTPUT/liblinphone-ios-sdk/i386 -DCMAKE_INSTALL_PREFIX=../../OUTPUT/liblinphone-ios-sdk/i386 $(filter -D%,$(MAKEFLAGS)) && \
make -j $(NUMCPUS)
build-ios-armv7:
mkdir -p OUTPUT/liblinphone-ios-sdk && \
mkdir -p WORK/cmake-ios-armv7 && \
cd WORK/cmake-ios-armv7 && \
cmake ../.. -DCMAKE_TOOLCHAIN_FILE=toolchains/toolchain-ios-armv7.cmake -DLINPHONE_BUILDER_CONFIG_FILE=configs/config-ios-armv7.cmake -DCMAKE_PREFIX_PATH=../../OUTPUT/liblinphone-ios-sdk/armv7 -DCMAKE_INSTALL_PREFIX=../../OUTPUT/liblinphone-ios-sdk/armv7 $(filter -D%,$(MAKEFLAGS)) && \
make -j $(NUMCPUS)
build-ios-armv7s:
mkdir -p OUTPUT/liblinphone-ios-sdk && \
mkdir -p WORK/cmake-ios-armv7s && \
cd WORK/cmake-ios-armv7s && \
cmake ../.. -DCMAKE_TOOLCHAIN_FILE=toolchains/toolchain-ios-armv7s.cmake -DLINPHONE_BUILDER_CONFIG_FILE=configs/config-ios-armv7s.cmake -DCMAKE_PREFIX_PATH=../../OUTPUT/liblinphone-ios-sdk/armv7s -DCMAKE_INSTALL_PREFIX=../../OUTPUT/liblinphone-ios-sdk/armv7s $(filter -D%,$(MAKEFLAGS)) && \
make -j $(NUMCPUS)
build-ios: build-ios-i386 build-ios-armv7 build-ios-armv7s
clean-ios-i386:
rm -rf WORK/Build-ios-i386 && \
rm -rf WORK/tmp-ios-i386 && \
rm -rf OUTPUT/liblinphone-ios-sdk/i386
clean-ios-armv7:
rm -rf WORK/Build-ios-armv7 && \
rm -rf WORK/tmp-ios-armv7 && \
rm -rf OUTPUT/liblinphone-ios-sdk/armv7
clean-ios-armv7s:
rm -rf WORK/Build-ios-armv7s && \
rm -rf WORK/tmp-ios-armv7s && \
rm -rf OUTPUT/liblinphone-ios-sdk/armv7s
clean-ios: clean-ios-i386 clean-ios-armv7 clean-ios-armv7s
help-ios:
mkdir -p OUTPUT/liblinphone-ios-sdk && \
mkdir -p WORK/cmake-ios-i386 && \
cd WORK/cmake-ios-i386 && \
cmake ../.. -DCMAKE_TOOLCHAIN_FILE=toolchains/toolchain-ios-i386.cmake -DLINPHONE_BUILDER_CONFIG_FILE=configs/config-ios-i386.cmake -DCMAKE_PREFIX_PATH=../../OUTPUT/liblinphone-ios-sdk/i386 -DCMAKE_INSTALL_PREFIX=../../OUTPUT/liblinphone-ios-sdk/i386 $(filter -D%,$(MAKEFLAGS)) -LH
generate-ios-sdk: build-ios
arm_archives=`find OUTPUT/liblinphone-ios-sdk/armv7 -name *.a` && \
mkdir -p OUTPUT/liblinphone-ios-sdk/apple-darwin && \
cp -rf OUTPUT/liblinphone-ios-sdk/armv7/include OUTPUT/liblinphone-ios-sdk/apple-darwin/. && \
cp -rf OUTPUT/liblinphone-ios-sdk/armv7/share OUTPUT/liblinphone-ios-sdk/apple-darwin/. && \
for archive in $$arm_archives ; do \
i386_path=`echo $$archive | sed -e "s/armv7/i386/"` ;\
armv6_path=`echo $$archive | sed -e "s/armv7/armv6/"` ;\
if test ! -f "$$armv6_path"; then \
armv6_path= ; \
fi; \
armv7s_path=`echo $$archive | sed -e "s/armv7/armv7s/"` ;\
if test ! -f "$$armv7s_path"; then \
armv7s_path= ; \
fi; \
destpath=`echo $$archive | sed -e "s/-debug//"` ;\
destpath=`echo $$destpath | sed -e "s/armv7/apple-darwin/"` ;\
if test -f "$$i386_path"; then \
141142143144145146147148149150151152153154
echo "Mixing $$archive into $$destpath"; \
mkdir -p `dirname $$destpath` ; \
lipo -create $$archive $$armv7s_path $$armv6_path $$i386_path -output $$destpath; \
else \
echo "WARNING: archive `basename $$archive` exists in arm tree but does not exists in i386 tree."; \
fi \
done && \
cd OUTPUT && \
zip -r liblinphone-ios-sdk.zip liblinphone-ios-sdk/apple-darwin
veryclean:
rm -rf WORK && \
rm -rf OUTPUT