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