forked from mirrors/linphone-iphone
90 lines
3.1 KiB
Makefile
90 lines
3.1 KiB
Makefile
|
|
|
|
# /!\ Unset compiler env variable is set by user to avoid error in configure such as:
|
|
# 1) Requested extra CFLAGS '-fno-strict-aliasing' not supported by compiler
|
|
# OR
|
|
# 2) Unable to invoke compiler
|
|
unexport CC
|
|
|
|
libvpx_dir?=externals/libvpx
|
|
|
|
libvpx_configure_options=\
|
|
--enable-static --disable-shared \
|
|
--disable-examples --disable-unit-tests \
|
|
--enable-realtime-only --enable-spatial-resampling \
|
|
--enable-vp8 --enable-multithread --disable-vp9
|
|
|
|
|
|
ifeq ($(enable_debug),yes)
|
|
libvpx_configure_options += --enable-debug
|
|
endif
|
|
|
|
take_binary=
|
|
|
|
# force take binary, it seems libvpx was fixed since http://git.chromium.org/gitweb/?p=webm/libvpx.git;a=commit;h=33df6d1fc1d268b4901b74b4141f83594266f041
|
|
force_non_binary_libvpx=1
|
|
|
|
ifneq (,$(findstring armv6,$(host)))
|
|
libvpx_configure_options+= --target=armv6-darwin-gcc --cpu=arm1176jzf-s
|
|
else ifneq (,$(findstring armv7s,$(host)))
|
|
libvpx_configure_options+= --target=armv7s-darwin-gcc
|
|
take_binary = armv7s
|
|
else ifneq (,$(findstring armv7,$(host)))
|
|
libvpx_configure_options+= --target=armv7-darwin-gcc
|
|
take_binary = armv7
|
|
else ifneq (,$(findstring aarch64,$(host)))
|
|
libvpx_configure_options+= --target=arm64-darwin-gcc
|
|
take_binary = arm64
|
|
else ifneq (,$(findstring x86_64,$(host)))
|
|
libvpx_configure_options+= --target=x86_64-iphonesimulator-gcc
|
|
take_binary = x86_64
|
|
else
|
|
libvpx_configure_options+= --target=x86-darwin10-gcc
|
|
take_binary = i386
|
|
endif
|
|
|
|
ifeq ($(LINPHONE_CCACHE),ccache)
|
|
libvpx_configure_options+= --enable-ccache
|
|
endif
|
|
|
|
|
|
|
|
all_p+=armv7-darwin-gcc #neon Cortex-A8
|
|
|
|
ifeq ($(force_non_binary_libvpx),1)
|
|
take_binary=
|
|
libvpx_configure_options+= --extra-cflags="-fno-strict-aliasing"
|
|
endif
|
|
|
|
|
|
$(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mk:
|
|
mkdir -p $(BUILDER_BUILD_DIR)/$(libvpx_dir)
|
|
cd $(BUILDER_BUILD_DIR)/$(libvpx_dir)/ \
|
|
&& host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
|
&& export all_platforms="${all_p}" && $(BUILDER_SRC_DIR)/$(libvpx_dir)/configure --prefix=$(prefix) --sdk-path=$$SDK_BIN_PATH/../../ --libc=$$SYSROOT_PATH $(libvpx_configure_options)
|
|
|
|
build-libvpx: $(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mk
|
|
cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) \
|
|
&& host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
|
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install
|
|
ifeq ($(force_non_binary_libvpx),1)
|
|
@echo "\033[01;32m DON'T get BINARY version of libvpx for $(take_binary), because 'force_non_binary_libvpx' is 1 \033[0m"
|
|
endif
|
|
ifneq (,$(take_binary))
|
|
# sometimes when clang gets updated we have to take binary version of libvpx for ARM because the compiler introduces bugs in optimized assembly
|
|
@echo "\033[01;32m Getting BINARY version of libvpx for $(take_binary) \033[0m"
|
|
cp $(BUILDER_SRC_DIR)/binaries/libvpx-$(take_binary).a $(prefix)/lib/libvpx.a
|
|
endif
|
|
|
|
clean-libvpx:
|
|
cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && make clean
|
|
|
|
veryclean-libvpx:
|
|
-cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && make distclean
|
|
cd $(BUILDER_SRC_DIR)/$(libvpx_dir) \
|
|
&& git clean -f && git reset --hard
|
|
rm -rf $(BUILDER_BUILD_DIR)/$(libvpx_dir)
|
|
|
|
clean-makefile-libvpx:
|
|
cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && rm -f config.mak
|
|
|