]> git.sesse.net Git - vlc/blob - contrib/src/vpx/rules.mak
3cd0df144d59930e39f1a54ce9ba316340936faf
[vlc] / contrib / src / vpx / rules.mak
1 # libvpx
2
3 VPX_VERSION := v0.9.6
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         $(MOVE)
17
18 DEPS_vpx =
19
20 ifdef HAVE_CROSS_COMPILE
21 VPX_CROSS := $(HOST)-
22 else
23 VPX_CROSS :=
24 endif
25
26 ifeq ($(ARCH),arm)
27 VPX_ARCH := armv7
28 else ifeq ($(ARCH),i386)
29 VPX_ARCH := x86
30 #DEPS_vpx += yasm $(DEPS_yasm)
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 #DEPS_vpx += yasm $(DEPS_yasm)
42 endif
43
44 ifdef HAVE_LINUX
45 VPX_OS := linux
46 else ifdef HAVE_MACOSX
47 ifeq ($(ARCH),arm)
48 VPX_OS := darwin
49 else
50 VPX_OS := darwin9
51 endif
52 else ifdef HAVE_SOLARIS
53 VPX_OS := solaris
54 else ifdef HAVE_WIN64 # must be before WIN32
55 VPX_OS := win64
56 else ifdef HAVE_WIN32
57 VPX_OS := win32
58 endif
59
60 VPX_TARGET := generic-gnu
61 ifdef VPX_ARCH
62 ifdef VPX_OS
63 VPX_TARGET := $(VPX_ARCH)-$(VPX_OS)-gcc
64 endif
65 endif
66
67 VPX_CONF := \
68         --enable-runtime-cpu-detect \
69         --disable-install-bins \
70         --disable-install-srcs \
71         --disable-install-libs \
72         --disable-install-docs \
73         --disable-examples \
74         --disable-vp8-decoder
75 ifndef HAVE_WIN32
76 VPX_CONF += --enable-pic
77 endif
78
79 .vpx: libvpx
80         cd $< && CROSS=$(VPX_CROSS) ./configure --target=$(VPX_TARGET) \
81                 $(VPX_CONF)
82         cd $< && $(MAKE) install
83         rm -Rf -- "$(PREFIX)/include/vpx/"
84         mkdir -p -- "$(PREFIX)/include/vpx/"
85         # Of course! Why the hell would it be listed or in make install?
86         cp $</vpx/*.h $</vpx_ports/*.h "$(PREFIX)/include/vpx/"
87         rm -f -- "$(PREFIX)/include/vpx/config.h"
88         $(RANLIB) $</libvpx.a
89         # Of course! Why the hell would it be listed or in make install?
90         install -D -- $</libvpx.a "$(PREFIX)/lib/libvpx.a"
91         touch $@