]> git.sesse.net Git - vlc/blobdiff - extras/contrib/src/Makefile
contrib: Disable ffprobe in ffmpeg.
[vlc] / extras / contrib / src / Makefile
index 9936711d2afb7cc43d7706e6b26bf61ef1e11e11..2e80d5a8d1158e499da95975f98893bd9fe2ed71 100644 (file)
@@ -169,6 +169,7 @@ FFMPEGCONF+= --enable-libamr-nb --enable-libamr-wb --enable-nonfree
 endif
 
 ifdef HAVE_LINUX
+FFMPEGCONF+= --target-os=linux
 ifdef HAVE_MAEMO
 ifneq ($(filter -m%=cortex-a8, $(EXTRA_CFLAGS)),)
 FFMPEGCONF += --disable-runtime-cpudetect --enable-neon --cpu=cortex-a8
@@ -376,9 +377,6 @@ gettext-$(GETTEXT_VERSION).tar.gz:
 
 gettext: gettext-$(GETTEXT_VERSION).tar.gz
        $(EXTRACT_GZ)
-ifdef HAVE_WIN32
-       patch -p0 < Patches/gettext-win32.patch
-endif
 ifdef HAVE_DARWIN_OS
        patch -p0 < Patches/gettext-macosx.patch
 endif
@@ -392,18 +390,18 @@ endif
 ifneq ($(HOST),$(BUILD))
   ifndef HAVE_CYGWIN
     # We'll use the installed gettext and only need to cross-compile libintl, also build autopoint and gettextsize tools need for VLC bootstrap
-       ( cd $< && make -C gettext-runtime/intl && patch -p1 < ../Patches/libintl.patch && make -C gettext-runtime/intl install && make -C gettext-tools/misc install )
+       ( cd $< && make -C gettext-runtime/intl && make -C gettext-runtime/intl install && make -C gettext-tools/misc install )
   else
     # We are compiling for MinGW on Cygwin -- build the full current gettext
-       ( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install )
+       ( cd $< && make && make install )
   endif
 else
 # Build and install the whole gettext
-       ( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install )
+       ( cd $< && make && make install )
 endif
 # Work around another non-sense of autoconf.
 ifdef HAVE_WIN32
-       (cd $(PREFIX)/include; sed -i.orig '311 c #if 0' libintl.h)
+       (cd $(PREFIX)/include; sed -i.orig '314 c #if 0' libintl.h)
 endif
        $(INSTALL_NAME)
        touch $@
@@ -475,7 +473,7 @@ endif
 .fontconfig: fontconfig .xml .freetype
 ifdef HAVE_WIN32
   ifdef HAVE_CYGWIN
-       (cd $<; ./configure --target=$(HOST) --disable-pic --disable-shared --disable-docs --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install)
+       (cd $<; ./configure --target=$(HOST) --disable-pic --disable-shared --disable-docs --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --disable-libxml2 && make && make install)
   else
        (cd $<; $(HOSTCC)  ./configure $(HOSTCONF) --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --disable-libxml2 --disable-docs && make && make install)
   endif
@@ -575,29 +573,6 @@ CLEAN_FILE += .mpeg2
 CLEAN_PKG += libmpeg2
 DISTCLEAN_PKG += libmpeg2-$(LIBMPEG2_VERSION).tar.gz
 
-# ***************************************************************************
-# libid3tag
-# ***************************************************************************
-
-libid3tag-$(LIBID3TAG_VERSION).tar.gz:
-       $(WGET) $(LIBID3TAG_URL)
-
-libid3tag: libid3tag-$(LIBID3TAG_VERSION).tar.gz
-       $(EXTRACT_GZ)
-       patch -d libid3tag -p0 < Patches/libid3tag-0.15.1b-fix-CVE-2008-2109.patch
-ifdef HAVE_DARWIN_OS
-       ( cd $@; sed -e 's%-dynamiclib%-dynamiclib -arch $(ARCH)%' -i.orig  configure )
-endif
-
-.id3tag: libid3tag
-       (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
-       $(INSTALL_NAME)
-       touch $@
-
-CLEAN_FILE += .id3tag
-CLEAN_PKG += libid3tag
-DISTCLEAN_PKG += libid3tag-$(LIBID3TAG_VERSION).tar.gz
-
 # ***************************************************************************
 # pcre
 # ***************************************************************************
@@ -693,7 +668,7 @@ libogg-$(OGG_VERSION).tar.gz:
 
 libogg: libogg-$(OGG_VERSION).tar.gz
        $(EXTRACT_GZ)
-       patch -p0 < Patches/ogg.patch
+       patch -p0 < Patches/libogg-inttypes.patch
        patch -p0 < Patches/libogg-1.1.patch
 ifdef HAVE_WINCE
        patch -p0 < Patches/libogg-wince.patch
@@ -909,23 +884,67 @@ CLEAN_FILE += .faad
 CLEAN_PKG += faad2
 DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz
 
+# ***************************************************************************
+# libebml
+# ***************************************************************************
+
+libebml-$(LIBEBML_VERSION).tar.bz2:
+       $(WGET) $(LIBEBML_URL)
+
+libebml: libebml-$(LIBEBML_VERSION).tar.bz2
+       $(EXTRACT_BZ2)
+
+.ebml: libebml
+ifdef HAVE_WIN32
+       (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC) SHARED=no && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC))
+else
+       (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX))
+       $(RANLIB) $(PREFIX)/lib/libebml.a
+endif
+       touch $@
+
+CLEAN_FILE += .ebml
+CLEAN_PKG += libebml
+DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.bz2
 
 # ***************************************************************************
-# libvp8
+# libmatroska
 # ***************************************************************************
 
-libvpx-$(VPX_VERSION).tar.bz2:
-       $(WGET) $(VPX_URL)
+libmatroska-$(LIBMATROSKA_VERSION).tar.bz2:
+       $(WGET) $(LIBMATROSKA_URL)
 
-vpx: libvpx-$(VPX_VERSION).tar.bz2
+libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
        $(EXTRACT_BZ2)
-       patch -p0 < Patches/libvpx-cross.patch
-ifdef HAVE_DARWIN_OS
-       patch -p0 < Patches/libvpx-darwin.patch
+
+.matroska: libmatroska .ebml
+ifdef HAVE_WIN32
+       (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC) SHARED=no EBML_DLL=no libmatroska.a && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC))
+else
+       (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX))
+       $(RANLIB) $(PREFIX)/lib/libmatroska.a
 endif
+       touch $@
+
+
+CLEAN_FILE += .matroska
+CLEAN_PKG += libmatroska
+DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
+
+
+# ***************************************************************************
+# libvp8
+# ***************************************************************************
+
+#ibvpx-$(VPX_VERSION).tar.bz2:
+#$(WGET) $(VPX_URL)
+
+libvpx: 
+       $(GIT) clone git://review.webmproject.org/libvpx.git
 
 ifdef HAVE_WIN32
 VPX_TARGET=x86-win32-gcc
+CROSS=
 else
 ifdef HAVE_DARWIN_OS
 ifdef HAVE_DARWIN_64
@@ -942,16 +961,16 @@ VPX_TARGET=FIXME
 endif
 endif
 
-.vpx: vpx
-       (cd $<; ./configure --target=$(VPX_TARGET) --disable-install-bins --disable-install-srcs --disable-install-libs --disable-examples && XCC=$(CC) XNM=$(NM) XSTRIP=$(STRIP) make && make install)
-       (cd $<; cp vp8/*.h vpx_codec/*.h vpx_ports/*.h $(PREFIX)/include) # Of course, why the hell would one expect it to be listed or in make install?
-       rm $(PREFIX)/include/config.h
+.libvpx: libvpx
+       (cd $<; CROSS=$(HOST)- ./configure --target=$(VPX_TARGET) --disable-install-bins --disable-install-srcs --disable-install-libs --disable-examples && make && make install)
+       (rm -rf $(PREFIX)/include/vpx/ && mkdir $(PREFIX)/include/vpx/; cd $< && cp vpx/*.h vpx_ports/*.h $(PREFIX)/include/vpx/) # Of course, why the hell would one expect it to be listed or in make install?
+       rm $(PREFIX)/include/vpx/config.h
        (cd $<; $(RANLIB) libvpx.a && cp libvpx.a $(PREFIX)/lib) # Of course, why the hell would one expect it to be listed or in make install?
        touch $@
 
-CLEAN_FILE += .vpx
-CLEAN_PKG += vpx
-DISTCLEAN_PKG += libvpx-$(VPX_VERSION).tar.bz2
+CLEAN_FILE += .libvpx
+CLEAN_PKG += libvpx
+#DISTCLEAN_PKG += libvpx-$(VPX_VERSION).tar.bz2
 
 # ***************************************************************************
 # lame
@@ -971,56 +990,6 @@ CLEAN_FILE += .lame
 CLEAN_PKG += lame
 DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz
 
-# ***************************************************************************
-# libebml
-# ***************************************************************************
-
-libebml-$(LIBEBML_VERSION).tar.bz2:
-       $(WGET) $(LIBEBML_URL)
-
-libebml: libebml-$(LIBEBML_VERSION).tar.bz2
-       $(EXTRACT_BZ2)
-       patch -p0 < Patches/libebml-win32.patch
-
-.ebml: libebml
-ifdef HAVE_WIN32
-       (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC) CFLAGS="$(CFLAGS) -DWIN32" SHARED=no && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC))
-else
-       (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX))
-       $(RANLIB) $(PREFIX)/lib/libebml.a
-endif
-       touch $@
-
-CLEAN_FILE += .ebml
-CLEAN_PKG += libebml
-DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.bz2
-
-# ***************************************************************************
-# libmatroska
-# ***************************************************************************
-
-libmatroska-$(LIBMATROSKA_VERSION).tar.bz2:
-       $(WGET) $(LIBMATROSKA_URL)
-
-libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
-       $(EXTRACT_BZ2)
-ifdef HAVE_WIN32
-       patch -p0 < Patches/libmatroska-win32.patch
-endif
-
-.matroska: libmatroska .ebml
-ifdef HAVE_WIN32
-       (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC) SHARED=no EBML_DLL=no libmatroska.a && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC))
-else
-       (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX))
-       $(RANLIB) $(PREFIX)/lib/libmatroska.a
-endif
-       touch $@
-
-
-CLEAN_FILE += .matroska
-CLEAN_PKG += libmatroska
-DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
 
 # ***************************************************************************
 # libamrnb
@@ -1068,10 +1037,9 @@ ifdef SVN
 ifdef HAVE_WIN32
 ffmpeg: .dshow_headers
 else
-ffmpeg: 
+ffmpeg:
 endif
        $(SVN) co $(FFMPEG_SVN) ffmpeg
-       (cd ffmpeg; patch -p0 < ../Patches/ffmpeg-libvpx.patch;)
 ifdef HAVE_ISA_THUMB
        patch -p0 < Patches/ffmpeg-avcodec-no-thumb.patch
 endif
@@ -1083,6 +1051,9 @@ ifdef HAVE_UCLIBC
        patch -p0 < Patches/ffmpeg-svn-internal-define.patch
        patch -p0 < Patches/ffmpeg-svn-libavformat.patch
 endif
+ifdef HAVE_WIN32
+       sed -i "s/std=c99/std=gnu99/" ffmpeg/configure
+endif
 else
 ffmpeg-$(FFMPEG_VERSION).tar.gz:
        echo "ffmpeg snapshot is too old, you MUST use subversion !"
@@ -1097,12 +1068,13 @@ FFMPEGCONF += \
        --disable-debug \
        --enable-gpl \
        --enable-postproc \
+       --disable-ffprobe \
        --disable-ffserver \
        --disable-ffmpeg \
        --disable-ffplay \
        --disable-devices \
        --disable-protocols \
-       --disable-filters \
+       --disable-avfilter \
        --disable-network
 ifdef HAVE_WIN64
 FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --enable-libmp3lame --enable-w32threads --disable-dxva2 --disable-bsfs 
@@ -1112,6 +1084,7 @@ FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --e
 else
 FFMPEGCONF += --enable-pthreads
 endif
+FFMPEG_CFLAGS += --std=gnu99
 endif
 
 ifdef HAVE_WINCE
@@ -1120,10 +1093,14 @@ else
 ifdef HAVE_UCLIBC
 .ffmpeg: ffmpeg
 else
-.ffmpeg: ffmpeg .lame .gsm
+ifeq ($(ARCH),armel)
+.ffmpeg: ffmpeg .lame .gsm .zlib
+else
+.ffmpeg: ffmpeg .lame .gsm .libvpx .zlib
+endif
 endif
 endif
-       (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS)" --extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) --disable-shared --enable-static && make && make install-libs install-headers)
+       (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --extra-cflags="$(FFMPEG_CFLAGS) -DHAVE_STDINT_H" --extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) --disable-shared --enable-static && make && make install-libs install-headers)
        touch $@
 
 ifdef SVN
@@ -1169,15 +1146,6 @@ CLEAN_FILE += .dvdcss
 CLEAN_PKG += libdvdcss
 DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.bz2
 
-# ***************************************************************************
-# dummy dvdread to trigger the INSTALL_NAME script
-# ***************************************************************************
-# .dvdread: .dvdnav
-#      $(INSTALL_NAME)
-#      touch $@
-#
-# CLEAN_FILE += .dvdread
-
 # ***************************************************************************
 # libdvdread: We use dvdnav's dvdread
 # ***************************************************************************
@@ -1206,7 +1174,6 @@ ifdef SVN
 libdvdnav:
        $(SVN) co $(LIBDVDNAV_SVN)  libdvdnav
        patch -d libdvdnav -p0 < Patches/libdvdnav.patch
-       patch -d libdvdnav -p0 < Patches/libdvdnav-resolution.patch
        (cd $@; ./autogen.sh noconfig)
 else
 libdvdnav-$(LIBDVDNAV_VERSION).tar.gz:
@@ -1234,14 +1201,30 @@ CLEAN_FILE += .dvdnav
 CLEAN_PKG += libdvdnav
 DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2
 
+# ***************************************************************************
+# libbluray
+# ***************************************************************************
+
+libbluray:
+       $(GIT) clone git://git.videolan.org/libbluray.git
+
+.libbluray: libbluray
+       (cd $<; ./bootstrap; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
+       $(INSTALL_NAME)
+       touch $@
+
+CLEAN_FILE += .libbluray
+CLEAN_PKG += libbluray
+
+
 # ***************************************************************************
 # libdvbpsi
 # ***************************************************************************
 
-libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz:
+libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz:
        $(WGET) $(LIBDVBPSI_URL)
 
-libdvbpsi: libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
+libdvbpsi: libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz
        $(EXTRACT_GZ)
 
 .dvbpsi: libdvbpsi
@@ -1251,7 +1234,7 @@ libdvbpsi: libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
 
 CLEAN_FILE += .dvbpsi
 CLEAN_PKG += libdvbpsi
-DISTCLEAN_PKG += libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
+DISTCLEAN_PKG += libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz
 
 # ***************************************************************************
 # live
@@ -1327,7 +1310,7 @@ goom$(GOOM2k4_VERSION).tar.gz:
 goom: goom$(GOOM2k4_VERSION).tar.gz
        $(EXTRACT_GZ)
 ifdef HAVE_WIN32
-       (cd $@; dos2unix configure.in)
+       (cd $@; fromdos configure.in)
        patch -p0 < Patches/goom2k4-0-win32.patch
 else
        patch -p0 < Patches/goom2k4-0-mmx.patch
@@ -1353,17 +1336,20 @@ libcaca-$(LIBCACA_VERSION).tar.gz:
 
 libcaca: libcaca-$(LIBCACA_VERSION).tar.gz
        $(EXTRACT_GZ)
-       patch -p0 < Patches/libcaca-static.patch
 ifdef HAVE_DARWIN_OS
        patch -p0 < Patches/libcaca-osx-sdkofourchoice.patch
        (cd $@; sed -e 's%/Developer/SDKs/MacOSX10.4u.sdk%$(MACOSX_SDK)%' -i.orig  configure)
 endif
+ifdef HAVE_WIN32
+       patch -p0 < Patches/libcaca-win32-static.patch
+endif
+
 
 .caca: libcaca
-ifdef HAVE_WIN32
-       (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-win32 --disable-x11 --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && make && make install)
+ifdef HAVE_DARWIN_OS
+       (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx --disable-x11 && cd caca && make && make install)
 else
-       (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && make && make install)
+       (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && cd caca && make && make install)
 endif
        touch $@
 
@@ -1406,19 +1392,11 @@ x264:
 ifdef HAVE_WIN32
        (cd x264; patch -p0 < ../Patches/x264-svn-win32.patch )
 endif
-
 else
+x264:
+       echo "x264 snapshot is too old, you MUST use Git !"
+       exit -1
 
-x264: x264-$(X264_VERSION).tar.gz
-       $(EXTRACT_GZ)
-ifdef HAVE_WIN32
-  ifndef HAVE_CYGWIN
-       (cd x264;patch -p0 <../Patches/x264-20050624-win32.patch)
-  endif
-else
-       patch -p0 < Patches/x264.patch
-       rm x264/x264.c
-endif
 endif
 
 ifdef HAVE_WIN32
@@ -1460,10 +1438,6 @@ libmodplug-$(MODPLUG_VERSION).tar.gz:
 
 libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz
        $(EXTRACT_GZ)
-ifdef HAVE_WIN32
-       patch -p0 < Patches/libmodplug-win32.patch
-       (cd $@; autoreconf -ivf )
-endif
 
 .mod: libmodplug
        (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
@@ -1608,10 +1582,10 @@ DISTCLEAN_PKG += qt-win-opensource-$(QT4T_VERSION)-mingw.exe
 # qt4 (source-code compilation for Mac)
 # ***************************************************************************
 
-qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz:
+qt-everywhere-opensource-src-$(QT4_MAC_VERSION).tar.gz:
        $(WGET) $(QT4_MAC_URL)
 
-qt4_mac: qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz
+qt4_mac: qt-everywhere-opensource-src-$(QT4_MAC_VERSION).tar.gz
        $(EXTRACT_GZ)
 
 .qt4_mac: qt4_mac
@@ -1631,10 +1605,11 @@ zlib-$(ZLIB_VERSION).tar.gz:
 
 zlib: zlib-$(ZLIB_VERSION).tar.gz
        $(EXTRACT_GZ)
-       patch -p0 < Patches/zlib.patch
+       patch -p0 < Patches/zlib-wince.patch
+       patch -p0 < Patches/zlib-static.patch
 
 .zlib: zlib
-       (cd zlib; $(HOSTCC2) ./configure --prefix=$(PREFIX) && make install)
+       (cd zlib; $(HOSTCC) ./configure --prefix=$(PREFIX) --static && make install)
        $(INSTALL_NAME)
        touch $@
 
@@ -1731,9 +1706,6 @@ else
        (cat Patches/libpng-osx.patch | sed -e 's%??PREFIX??%$(PREFIX)%' -e 's%??EXTRA_CFLAGS??%$(EXTRA_CFLAGS)%' -e 's%??EXTRA_LDFLAGS??%$(EXTRA_LDFLAGS)%' | patch -p0)
 endif
        (patch -p0 < Patches/libpng-makefile.patch)
-ifdef HAVE_DARWIN_OS_ON_INTEL
-       (patch -p0 < Patches/libpng-darwin-mactel.patch)
-endif
 
 .png: libpng .zlib
 ifdef HAVE_DARWIN_OS
@@ -1838,6 +1810,10 @@ libgpg-error-$(GPGERROR_VERSION).tar.bz2:
 
 libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.bz2
        $(EXTRACT_BZ2)
+ifdef HAVE_WIN32
+#      patch -p 0 < Patches/libgpg-error-win32.patch
+#      (cd $@; ./autogen.sh)
+endif
 
 .gpg-error: libgpg-error
 ifdef HAVE_DARWIN_OS_ON_INTEL
@@ -2133,8 +2109,12 @@ dshow-headers.tgz:
 dxva2api.h:
        $(WGET) $(DXVA2_URL)
 
-.dshow_headers: dshow-headers.tgz dxva2api.h
+d2d_headers.tar.gz:
+       $(WGET) $(D2D_URL) -O $@
+
+.dshow_headers: dshow-headers.tgz dxva2api.h d2d_headers.tar.gz
        tar xzf $< -C $(PREFIX)/include
+       tar xzf d2d_headers.tar.gz -C $(PREFIX)/include
        cp dxva2api.h $(PREFIX)/include
        touch $@
 
@@ -2162,31 +2142,6 @@ CLEAN_FILE += .expat
 CLEAN_PKG += expat
 DISTCLEAN_PKG += expat-$(EXPAT_VERSION).tar.gz
 
-# ***************************************************************************
-# CyberLink C++ UPnP library
-# ***************************************************************************
-
-clinkcc$(CLINKCC_VERSION).tar.gz:
-       $(WGET) $(CLINKCC_URL)
-
-clinkcc: clinkcc$(CLINKCC_VERSION).tar.gz
-       tar xzf $<
-       mv $(patsubst %.tar.gz,Cyberlink,$(patsubst %.tgz,Cyberlink,$(notdir $<))) $@ || true
-       touch $@
-       patch -p0 < Patches/clinkcc.patch
-ifdef HAVE_DARWIN_OS
-       patch -p0 < Patches/clinkcc_osx.patch
-endif
-       (cd $@; ./bootstrap)
-
-.clinkcc: clinkcc
-       (cd $<;./configure --prefix=$(PREFIX) --enable-expat && make && chmod 755 config/install-sh && make install )
-       touch $@
-
-CLEAN_FILE += .clinkcc
-CLEAN_PKG += clinkcc
-DISTCLEAN_PKG += clinkcc$(CLINKCC_VERSION).tar.gz
-
 # ***************************************************************************
 # YASM assembler
 # ***************************************************************************
@@ -2452,9 +2407,19 @@ libupnp-$(UPNP_VERSION).tar.bz2:
 
 libupnp: libupnp-$(UPNP_VERSION).tar.bz2
        $(EXTRACT_BZ2)
+       patch -p0 < Patches/libupnp-mingw.patch
+ifdef HAVE_WIN32
+       patch -p0 < Patches/libupnp-win32.patch
+       patch -p0 < Patches/libupnp-configure.patch
+       cd $@; libtoolize&& autoreconf
+endif
+
+ifdef HAVE_WIN32
+LIBUPNP_ECFLAGS=-DPTW32_STATIC_LIB
+endif
 
 .libupnp: libupnp
-       (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-samples --without-documentation --disable-webserver CFLAGS="$(CFLAGS) -O3" && make && make install)
+       (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-samples --without-documentation --enable-static --disable-webserver CFLAGS="$(CFLAGS) -O3 -DUPNP_STATIC_LIB $(LIBUPNP_ECFLAGS)" && make && make install)
        touch $@
 
 CLEAN_FILE += .libupnp
@@ -2511,15 +2476,15 @@ DISTCLEAN_PKG += glew-$(GLEW_VERSION)-src.tgz
 # ***************************************************************************
 # projectM
 # ***************************************************************************
-libprojectM-$(LIBPROJECTM_VERSION)-Source.tar.gz:
+projectM-$(LIBPROJECTM_VERSION)-Source.tar.gz:
        $(WGET) $(LIBPROJECTM_URL)
 
-libprojectM: libprojectM-$(LIBPROJECTM_VERSION)-Source.tar.gz
+libprojectM: projectM-$(LIBPROJECTM_VERSION)-Source.tar.gz
        rm -rf $@ || true
        gunzip -c $< | tar xf - --exclude='[*?:<>\|]'
        mv projectM-$(LIBPROJECTM_VERSION)-Source $@ || true
        patch -p0 < Patches/libprojectM-win32.patch
-       cd $@; rm CMakeCache.txt
+       -cd $@; rm CMakeCache.txt
 
 .libprojectM: libprojectM .glew
        (cd $<; $(HOSTCC) CPPFLAGS="$(CPPFLAGS)" cmake . -DCMAKE_TOOLCHAIN_FILE=../../toolchain.cmake -DINCLUDE-PROJECTM-LIBVISUAL:BOOL=OFF -DDISABLE_NATIVE_PRESETS:BOOL=ON -DUSE_FTGL:BOOL=OFF -DINCLUDE-PROJECTM-PULSEAUDIO:BOOL=OFF -DINCLUDE-PROJECTM-QT:BOOL=OFF -DBUILD_PROJECTM_STATIC:BOOL=ON -DCMAKE_INSTALL_PREFIX=$(PREFIX) && make install)