]> git.sesse.net Git - vlc/blob - contrib/src/vpx/rules.mak
54df8b452747d07ab8ac5f5a7a72254ea39e5b97
[vlc] / contrib / src / vpx / rules.mak
1 # libvpx
2
3 VPX_VERSION := v0.9.7-p1
4 VPX_URL := http://webm.googlecode.com/files/libvpx-$(VPX_VERSION).tar.bz2
5
6 $(TARBALLS)/libvpx-$(VPX_VERSION).tar.bz2:
7         $(call download,$(VPX_URL))
8
9 .sum-vpx: libvpx-$(VPX_VERSION).tar.bz2
10
11 libvpx: libvpx-$(VPX_VERSION).tar.bz2 .sum-vpx
12         $(UNPACK)
13         $(APPLY) $(SRC)/vpx/libvpx-no-cross.patch
14         $(APPLY) $(SRC)/vpx/libvpx-no-abi.patch
15         $(APPLY) $(SRC)/vpx/libvpx-win64.patch
16         $(APPLY) $(SRC)/vpx/libvpx-darwin10.patch
17         $(MOVE)
18
19 DEPS_vpx =
20
21 ifdef HAVE_CROSS_COMPILE
22 VPX_CROSS := $(HOST)-
23 else
24 VPX_CROSS :=
25 endif
26
27 ifeq ($(ARCH),arm)
28 VPX_ARCH := armv7
29 else ifeq ($(ARCH),i386)
30 VPX_ARCH := x86
31 else ifeq ($(ARCH),mips)
32 VPX_ARCH := mips32
33 else ifeq ($(ARCH),ppc)
34 VPX_ARCH := ppc32
35 else ifeq ($(ARCH),ppc64)
36 VPX_ARCH := ppc64
37 else ifeq ($(ARCH),sparc)
38 VPX_ARCH := sparch
39 else ifeq ($(ARCH),x86_64)
40 VPX_ARCH := x86_64
41 endif
42
43 ifdef HAVE_LINUX
44 VPX_OS := linux
45 else ifdef HAVE_MACOSX
46 ifeq ($(ARCH),arm)
47 VPX_OS := darwin
48 else
49 VPX_OS := darwin10
50 endif
51 else ifdef HAVE_SOLARIS
52 VPX_OS := solaris
53 else ifdef HAVE_WIN64 # must be before WIN32
54 VPX_OS := win64
55 else ifdef HAVE_WIN32
56 VPX_OS := win32
57 endif
58
59 VPX_TARGET := generic-gnu
60 ifdef VPX_ARCH
61 ifdef VPX_OS
62 VPX_TARGET := $(VPX_ARCH)-$(VPX_OS)-gcc
63 endif
64 endif
65
66 VPX_CONF := \
67         --enable-runtime-cpu-detect \
68         --disable-install-bins \
69         --disable-install-srcs \
70         --disable-install-libs \
71         --disable-install-docs \
72         --disable-examples \
73         --disable-vp8-decoder
74 ifndef HAVE_WIN32
75 VPX_CONF += --enable-pic
76 endif
77
78 .vpx: libvpx
79         cd $< && CROSS=$(VPX_CROSS) ./configure --target=$(VPX_TARGET) \
80                 $(VPX_CONF)
81         cd $< && $(MAKE) install
82         rm -Rf -- "$(PREFIX)/include/vpx/"
83         mkdir -p -- "$(PREFIX)/include/vpx/"
84         # Of course! Why the hell would it be listed or in make install?
85         cp $</vpx/*.h $</vpx_ports/*.h "$(PREFIX)/include/vpx/"
86         rm -f -- "$(PREFIX)/include/vpx/config.h"
87         $(RANLIB) $</libvpx.a
88         # Of course! Why the hell would it be listed or in make install?
89         mkdir -p -- "$(PREFIX)/lib"
90         install -- $</libvpx.a "$(PREFIX)/lib/libvpx.a"
91         touch $@