blob: 8368a24d5d168908f2365da7fff74eafaed56861 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
include ../Makefile.include
ifneq ($(shell test -f $(PREFIX)/share/config.site && echo 1),1)
$(error Error: $(PREFIX)/share/config.site is missing. Please reconfigure depends to generate it)
endif
DEPENDS = \
pcre expat gettext sqlite3 libgpg-error \
libgcrypt bzip2 liblzo2 libzip freetype2 fontconfig \
openssl gmp nettle gnutls libssh2 curl \
libjpeg-turbo tiff jasper libpng \
libogg libvorbis libflac fribidi libmpeg2 \
libass libsamplerate \
libmodplug librtmp libxml2 yajl libmicrohttpd mysql libffi \
python26 afpfs-ng libshairplay \
libplist libcec libbluray boost tinyxml dummy-libxbmc \
libamplayer libssh taglib xbmc-pvr-addons libusb libnfs libmp3lame \
pythonmodule-pil libxslt ffmpeg
ifeq ($(ENABLE_GPLV3),1)
DEPENDS+=samba-gplv3 libcdio-gplv3
else
DEPENDS+=samba libcdio
endif
ifeq ($(OS),ios)
DEPENDS += Backrow
EXCLUDED_DEPENDS = libcec libcrystalhd libusb gmp nettle gnutls
endif
ifeq ($(OS),osx)
DEPENDS += libGLEW libsdl libcrystalhd
EXCLUDED_DEPENDS = libusb gmp nettle gnutls
endif
ifeq ($(OS),android)
DEPENDS += mdnsresponder android-sources-ics
EXCLUDED_DEPENDS = gmp nettle gnutls
endif
DEPENDS := $(filter-out $(EXCLUDED_DEPENDS),$(DEPENDS))
ZLIB=
ifneq ($(HAS_ZLIB),1)
DEPENDS += zlib
ZLIB = zlib
endif
ICONV=
ifeq ($(NEED_LIBICONV),1)
DEPENDS += libiconv
ICONV = libiconv
endif
ALSA_LIB=
LINUX_SYSTEM_LIBS=
ifeq ($(OS),linux)
#not for raspberry pi
ifneq ($(TARGET_PLATFORM),raspberry-pi)
DEPENDS += alsa-lib libsdl linux-system-libs
ALSA_LIB = alsa-lib
LINUX_SYSTEM_LIBS = linux-system-libs
endif
FFMPEG_DEPENDS = gnutls
endif
.PHONY: $(DEPENDS)
all: .installed-$(PLATFORM)
gettext: $(ICONV)
libgcrypt: libgpg-error
fontconfig: freetype2 expat $(ICONV)
libssh2: libgcrypt openssl
curl: openssl libssh2
tiff: libjpeg-turbo
jasper: libjpeg-turbo
libvorbis: libogg
libflac: libogg gettext
libass: fontconfig libpng freetype2 expat $(ICONV)
librtmp: openssl
libmicrohttpd: openssl libgpg-error libgcrypt
python26: expat gettext libxml2 sqlite3 openssl libffi
libcdio: $(ICONV)
afpfs-ng: libgcrypt $(ICONV)
libplist: libxml2 $(ZLIB)
libbluray: $(ICONV) libxml2
libssh: openssl
xbmc-pvr-addons: boost mysql
mysql: openssl
libzip: $(ZLIB)
libmp3lame: $(ICONV)
libpng: $(ZLIB)
openssl: $(ZLIB)
gnutls: nettle $(ZLIB)
nettle: gmp
pythonmodule-pil: $(ZLIB) libjpeg-turbo libpng freetype2 python26
libsdl: $(LINUX_SYSTEM_LIBS)
libxslt: libgcrypt
ffmpeg: $(ICONV) $(ZLIB) bzip2 libvorbis $(FFMPEG_DEPENDS)
.installed-$(PLATFORM): $(DEPENDS)
touch $@
@echo "Dependencies built successfully."
$(DEPENDS):
$(MAKE) -C $@
clean:
for d in $(DEPENDS); do $(MAKE) -C $$d clean; done
# Debug target, this will DELETE all data in staging!
test-dependencies:
( for d in $(DEPENDS); do \
rm -rf $(PREFIX); \
mkdir -p $(PREFIX)/include $(PREFIX)/share $(PREFIX)/bin; \
cp -f config.site Toolchain.cmake $(PREFIX)/share/; \
$(MAKE) distclean; \
$(MAKE) $$d; done ) && echo "$@ built successfully"
distclean::
for d in $(DEPENDS); do $(MAKE) -C $$d distclean; done
linux-system-libs:
[ -f $(PREFIX)/lib/pkgconfig/x11.pc ] || ln -s /usr/lib/$(HOST)/pkgconfig/x11.pc $(PREFIX)/lib/pkgconfig/x11.pc
[ -f $(PREFIX)/lib/pkgconfig/xproto.pc ] || ln -s /usr/share/pkgconfig/xproto.pc $(PREFIX)/lib/pkgconfig/xproto.pc
[ -f $(PREFIX)/lib/pkgconfig/kbproto.pc ] || ln -s /usr/share/pkgconfig/kbproto.pc $(PREFIX)/lib/pkgconfig/kbproto.pc
[ -f $(PREFIX)/lib/pkgconfig/xcb.pc ] || ln -s /usr/lib/$(HOST)/pkgconfig/xcb.pc $(PREFIX)/lib/pkgconfig/xcb.pc
[ -f $(PREFIX)/lib/pkgconfig/pthread-stubs.pc ] || ln -s /usr/lib/$(HOST)/pkgconfig/pthread-stubs.pc $(PREFIX)/lib/pkgconfig/pthread-stubs.pc
[ -f $(PREFIX)/lib/pkgconfig/xau.pc ] || ln -s /usr/lib/$(HOST)/pkgconfig/xau.pc $(PREFIX)/lib/pkgconfig/xau.pc
[ -f $(PREFIX)/lib/pkgconfig/xdmcp.pc ] || ln -s /usr/lib/$(HOST)/pkgconfig/xdmcp.pc $(PREFIX)/lib/pkgconfig/xdmcp.pc
[ -f $(PREFIX)/lib/pkgconfig/xext.pc ] || ln -s /usr/lib/$(HOST)/pkgconfig/xext.pc $(PREFIX)/lib/pkgconfig/xext.pc
[ -f $(PREFIX)/lib/pkgconfig/xextproto.pc ] || ln -s /usr/share/pkgconfig/xextproto.pc $(PREFIX)/lib/pkgconfig/xextproto.pc
[ -f $(PREFIX)/lib/pkgconfig/xt.pc ] || ln -s /usr/lib/$(HOST)/pkgconfig/xt.pc $(PREFIX)/lib/pkgconfig/xt.pc
[ -f $(PREFIX)/lib/pkgconfig/ice.pc ] || ln -s /usr/lib/$(HOST)/pkgconfig/ice.pc $(PREFIX)/lib/pkgconfig/ice.pc
[ -f $(PREFIX)/lib/pkgconfig/sm.pc ] || ln -s /usr/lib/$(HOST)/pkgconfig/sm.pc $(PREFIX)/lib/pkgconfig/sm.pc
[ -f $(PREFIX)/lib/pkgconfig/xmu.pc ] || ln -s /usr/lib/$(HOST)/pkgconfig/xmu.pc $(PREFIX)/lib/pkgconfig/xmu.pc
|