Makefile
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:79k
源码类别:

midi

开发平台:

Unix_Linux

  1. #***************************************************************************
  2. # src/Makefile : Dearchive and compile all files necessary
  3. # ***************************************************************************
  4. # Copyright (C) 2003 - 2009 the VideoLAN team
  5. # $Id$
  6. #
  7. # Authors: Christophe Massiot <massiot@via.ecp.fr>
  8. #          Derk-Jan Hartman <hartman at videolan dot org>
  9. #          Eric Petit <titer@m0k.org>
  10. #          Felix Paul Kühne <fkuehne at videolan dot org>
  11. #          Christophe Mutricy <xtophe AT xtelevision.com>
  12. #          Gildas Bazin <gbazin at videolan dot org>
  13. #          Damien Fouilleul <damienf at videolan dot org>
  14. #          Jean-Baptiste Kempf <jb at videolan dot org>
  15. #
  16. # This program is free software; you can redistribute it and/or modify
  17. # it under the terms of the GNU General Public License as published by
  18. # the Free Software Foundation; either version 2 of the License, or
  19. # (at your option) any later version.
  20. #
  21. # This program is distributed in the hope that it will be useful,
  22. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  23. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  24. # GNU General Public License for more details.
  25. #
  26. # You should have received a copy of the GNU General Public License
  27. # along with this program; if not, write to the Free Software
  28. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  29. # ***************************************************************************
  30. include ../config.mak
  31. include ./packages.mak
  32. # ***************************************************************************
  33. # Set a clean environment
  34. # ***************************************************************************
  35. export PATH := $(PREFIX)/bin:$(EXTRA_PATH):$(PATH)
  36. export PKG_CONFIG_PATH
  37. export PKG_CONFIG_LIBDIR = $(PREFIX)/lib/pkgconfig
  38. export MACOSX_DEPLOYMENT_TARGET = $(SDK_TARGET)
  39. export LIBRARY_PATH := $(PREFIX)/lib:$(LIBRARY_PATH)
  40. export CFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
  41. export CPPFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
  42. export CXXFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
  43. export LDFLAGS = -L$(PREFIX)/lib $(EXTRA_LDFLAGS)
  44. ifdef HAVE_DARWIN_OS
  45. export CC
  46. export CXX
  47. export LD
  48. endif
  49. # ***************************************************************************
  50. # Cross compilation variables
  51. # We'll usually use --host=<platform>, except for a few libraries which
  52. # don't handle it (gotta set CC/CXX/etc), and obviously FFmpeg has its own
  53. # way of doing it... ;)
  54. # ***************************************************************************
  55. ifneq ($(CC),)
  56. HOSTCC+= CC="$(CC)"
  57. FFMPEGCONF += --cc=$(CC)
  58. endif
  59. ifneq ($(CXX),)
  60. HOSTCC+= CXX="$(CXX)"
  61. endif
  62. ifneq ($(LD),)
  63. HOSTCC+= LD="$(LD)"
  64. endif
  65. ifneq ($(RANLIB),)
  66. HOSTCC+= RANLIB="$(RANLIB)"
  67. endif
  68. ifneq ($(AR),)
  69. HOSTCC+= AR="$(AR)"
  70. endif
  71. ifneq ($(STRIP),)
  72. HOSTCC+= STRIP="$(STRIP)"
  73. endif
  74. # Define ranlib on non-cross compilation setups
  75. ifeq ($(RANLIB),)
  76. RANLIB=ranlib
  77. endif
  78. # For libebml/libmatroska. Grrr.
  79. ifneq ($(AR),)
  80. HOSTCC2=$(HOSTCC) AR="$(AR) rcvu"
  81. else
  82. HOSTCC2=$(HOSTCC)
  83. endif
  84. FFMPEGCONF=
  85. # cross compiling
  86. #This should be inside the if block but some config scripts are buggy
  87. HOSTCONF=--target=$(HOST) --host=$(HOST) --build=$(BUILD) --program-prefix=""
  88. ifneq ($(BUILD),$(HOST))
  89.     #
  90.     # Compiling for MinGW under Cygwin could be deemed as cross compiling
  91.     # unfortunately there isn't a complete separate GCC toolchain for MinGW under Cygwin
  92.     #
  93.     ifndef HAVE_CYGWIN
  94.         # We are REALLY cross compiling
  95.         FFMPEGCONF+=--cross-prefix=$(HOST)- --enable-cross-compile
  96.         X264CONF=--host=$(HOST)
  97.         PTHREADSCONF="CROSS=$(HOST)-"
  98.     else
  99.         # We are compiling for MinGW on Cygwin
  100.         PTHREADSCONF=$(HOSTCC)
  101.     endif
  102. endif
  103. #
  104. # Special target-dependant options
  105. #
  106. ifdef HAVE_WIN32
  107. HOSTCONF+= --without-pic --disable-shared --enable-msw --disable-dependency-tracking
  108. FFMPEGCONF+= --target-os=mingw32 --enable-memalign-hack --cpu=i686 --arch=i686
  109. endif
  110. ifdef HAVE_WINCE
  111. HOSTCONF+= --without-pic --disable-shared
  112. FFMPEGCONF+= --arch=armv4l --cpu=armv4t --disable-encoders --disable-muxers --disable-mpegaudio-hp --disable-decoder=snow --disable-decoder=vc9 --disable-decoder=wmv3 --disable-decoder=vorbis --disable-decoder=dvdsub --disable-decoder=dvbsub --disable-protocols
  113. endif
  114. ifdef HAVE_UCLIBC
  115. ifdef HAVE_BIGENDIAN
  116. FFMPEGCONF+= --arch=armeb --enable-armv5te --enable-iwmmxt
  117. else
  118. FFMPEGCONF+= --arch=armv4l
  119. endif
  120. FFMPEGCONF+= --enable-small --disable-mpegaudio-hp
  121. FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99
  122. else
  123. ifndef HAVE_WINCE
  124. FFMPEGCONF+= --enable-libmp3lame --enable-libgsm
  125. #--enable-libfaac
  126. endif
  127. endif
  128. ifdef HAVE_BEOS
  129. FFMPEGCONF+= --cpu=x86 --disable-audio-beos
  130. endif
  131. ifdef HAVE_DARWIN_OS_ON_INTEL
  132. FFMPEGCONF += --enable-memalign-hack
  133. endif
  134. ifdef HAVE_DARWIN_OS
  135. X264CONF += --enable-pic
  136. FFMPEGCONF += --cc=$(CC)
  137. FFMPEGCONF += --arch=$(ARCH)
  138. ifdef HAVE_DARWIN_64
  139. FFMPEGCONF += --cpu=core2
  140. X264CONF+=--host=x86_64-apple-darwin10
  141. endif
  142. ifdef HAVE_DARWIN_OS_ON_INTEL
  143. FFMPEG_CFLAGS += -DHAVE_LRINTF
  144. endif
  145. endif
  146. ifdef HAVE_AMR
  147. FFMPEGCONF+= --enable-libamr-nb --enable-libamr-wb --enable-nonfree
  148. endif
  149. ifdef HAVE_LINUX
  150. ifdef HAVE_MAEMO
  151. ifneq ($(filter -m%=cortex-a8, $(EXTRA_CFLAGS)),)
  152. FFMPEGCONF += --disable-runtime-cpudetect --enable-neon --cpu=cortex-a8
  153. endif
  154. # Really, this could be done on all Linux platforms, not just Maemo.
  155. # Installing statically-linked VLC plugins is so much simpler.
  156. HOSTCONF += --with-pic --disable-shared
  157. endif
  158. X264CONF += --enable-pic
  159. endif
  160. ifdef HAVE_ISA_THUMB
  161. NOTHUMB ?= -mno-thumb
  162. endif
  163. DATE=`date +%Y-%m-%d`
  164. # ***************************************************************************
  165. # Standard rules
  166. # ***************************************************************************
  167. # Generated by ./bootstrap from default configuration in src/Distributions
  168. #
  169. include ../distro.mak
  170. FORCE:
  171. # ***************************************************************************
  172. # Useful macros
  173. # ***************************************************************************
  174. define EXTRACT_GZ
  175. rm -rf $@ || true
  176. gunzip -c $< | tar xf - --exclude='[*?:<>|]'
  177. mv $(patsubst %.tar.gz,%,$(patsubst %.tgz,%,$(notdir $<))) $@ || true
  178. touch $@
  179. endef
  180. define EXTRACT_BZ2
  181. rm -rf $@ || true
  182. bunzip2 -c $< | tar xf - --exclude='[*?:<>|]'
  183. mv $(patsubst %.tar.bz2,%,$(notdir $<)) $@ || true
  184. touch $@
  185. endef
  186. define EXTRACT_ZIP
  187. rm -rf $@ || true
  188. unzip $<
  189. mv $(patsubst %.zip,%,$(notdir $<)) $@ || true
  190. touch $@
  191. endef
  192. ### Darwin-specific ###
  193. # These macros prepare the dynamic libraries for inclusion in the Mac OS X
  194. # bundle. For instance if you're building a library named libtoto.dylib,
  195. # which depends on the contrib library libtata.dylib, you should have the
  196. # following entry :
  197. # .toto: toto_directory .tata
  198. # cd $< ; ./configure --prefix=$(PREFIX)
  199. # $(MAKE) -C $<
  200. # $(MAKE) -C $< install
  201. # $(INSTALL_NAME)
  202. # touch $@
  203. ifeq ($(HOST),i586-pc-beos)
  204. # We test if the file actually exists, as sometimes (but not always)
  205. # libtool won't accept to build the shared library
  206. define INSTALL_NAME
  207. if test -f $(PREFIX)/lib/lib$(patsubst .%,%,$@).so ; then 
  208. mkdir -p $(PREFIX)/vlc-lib ; 
  209. cp $(PREFIX)/lib/lib$(patsubst .%,%,$@).so 
  210.   $(PREFIX)/vlc-lib/ ; 
  211. fi
  212. endef
  213. endif
  214. # ***************************************************************************
  215. # perl
  216. # ***************************************************************************
  217. ifeq ($(BUILD),i586-pc-beos)
  218. perl-$(PERL_VERSION).tar.gz:
  219. $(WGET) $(PERL_URL)
  220. perl: perl-$(PERL_VERSION).tar.gz
  221. $(EXTRACT_GZ)
  222. sed -i.orig 's%prefix="/boot/home/config"%prefix="$(PREFIX)"%'  perl/hints/beos.sh
  223. .perl: perl
  224. (cd $<; ./Configure -d -e && make && make install && ln -sf perl5/$(PERL_VERSION)/BePC-beos/CORE/libperl.so $(PREFIX)/lib/libperl.so)
  225. touch $@
  226. CLEAN_FILE += .perl
  227. CLEAN_PKG += perl
  228. DISTCLEAN_PKG += perl-$(PERL_VERSION).tar.gz
  229. endif
  230. # ***************************************************************************
  231. # errno
  232. # ***************************************************************************
  233. errno:
  234. mkdir -p $@
  235. $(WGET) $(ERRNO_URL)/errno.h -O $@/errno.h
  236. .errno: errno
  237. mkdir -p $(PREFIX)/include
  238. cp $</errno.h $(PREFIX)/include
  239. touch $@
  240. CLEAN_FILE += .errno
  241. CLEAN_PKG += errno
  242. # ***************************************************************************
  243. # autoconf
  244. # ***************************************************************************
  245. autoconf-$(AUTOCONF_VERSION).tar.bz2:
  246. $(WGET) $(AUTOCONF_URL)
  247. autoconf: autoconf-$(AUTOCONF_VERSION).tar.bz2
  248. $(EXTRACT_BZ2)
  249. .autoconf: autoconf
  250. (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
  251. touch $@
  252. CLEAN_FILE += .autoconf
  253. CLEAN_PKG += autoconf
  254. DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2
  255. # ***************************************************************************
  256. # gnumake
  257. # ***************************************************************************
  258. make-$(GNUMAKE_VERSION).tar.bz2:
  259. $(WGET) $(GNUMAKE_URL)
  260. gnumake: make-$(GNUMAKE_VERSION).tar.bz2
  261. $(EXTRACT_BZ2)
  262. .gnumake: gnumake
  263. ifdef HAVE_DARWIN_OS
  264. ifndef HAVE_DARWIN_9
  265. (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
  266. endif
  267. endif
  268. touch $@
  269. CLEAN_FILE += .gnumake
  270. CLEAN_PKG += gnumake
  271. DISTCLEAN_PKG += make-$(GNUMAKE_VERSION).tar.bz2
  272. # ***************************************************************************
  273. # CMake
  274. # ***************************************************************************
  275. cmake-$(CMAKE_VERSION).tar.gz:
  276. $(WGET) $(CMAKE_URL)
  277. cmake: cmake-$(CMAKE_VERSION).tar.gz
  278. $(EXTRACT_GZ)
  279. #cmake:
  280. # cvs -d :pserver:anonymous:cmake@www.cmake.org:/cvsroot/CMake co -d cmake CMake
  281. .cmake: cmake
  282. (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
  283. touch $@
  284. CLEAN_FILE += .cmake
  285. CLEAN_PKG += cmake
  286. # ***************************************************************************
  287. # libtool
  288. # ***************************************************************************
  289. ifdef HAVE_DARWIN_OS
  290. libtool-$(LIBTOOL_VERSION).tar.gz:
  291. $(WGET) $(LIBTOOL_URL)
  292. libtool: libtool-$(LIBTOOL_VERSION).tar.gz
  293. $(EXTRACT_GZ)
  294. .libtool: libtool
  295. (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
  296. ln -sf libtool $(PREFIX)/bin/glibtool
  297. ln -sf libtoolize $(PREFIX)/bin/glibtoolize
  298. touch $@
  299. CLEAN_PKG += libtool
  300. DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz
  301. CLEAN_FILE += .libtool
  302. endif
  303. ifeq ($(BUILD),i586-pc-beos)
  304. libtool-$(LIBTOOL_VERSION).tar.gz:
  305. $(WGET) $(LIBTOOL_URL)
  306. libtool: libtool-$(LIBTOOL_VERSION).tar.gz
  307. $(EXTRACT_GZ)
  308. .libtool: libtool
  309. (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
  310. touch $@
  311. CLEAN_PKG += libtool
  312. DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz
  313. CLEAN_FILE += .libtool
  314. endif
  315. # ***************************************************************************
  316. # automake
  317. # ***************************************************************************
  318. automake-$(AUTOMAKE_VERSION).tar.gz:
  319. $(WGET) $(AUTOMAKE_URL)
  320. automake: automake-$(AUTOMAKE_VERSION).tar.gz
  321. $(EXTRACT_GZ)
  322. .automake: automake
  323. (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
  324. touch $@
  325. CLEAN_FILE += .automake
  326. CLEAN_PKG += automake
  327. DISTCLEAN_PKG += automake-$(AUTOMAKE_VERSION).tar.gz
  328. # ***************************************************************************
  329. # pkgconfig
  330. # ***************************************************************************
  331. pkg-config-$(PKGCFG_VERSION).tar.gz:
  332. $(WGET) $(PKGCFG_URL)
  333. pkgconfig: pkg-config-$(PKGCFG_VERSION).tar.gz
  334. $(EXTRACT_GZ)
  335. patch -d pkgconfig/glib-1.2.8 -p 1 < Patches/glib.patch
  336. patch -d pkgconfig -p0 < Patches/pkgcfg.patch
  337. (cd $@; autoconf)
  338. .pkgcfg: pkgconfig
  339. (cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
  340. touch $@
  341. CLEAN_FILE += .pkgcfg
  342. CLEAN_PKG += pkgconfig
  343. DISTCLEAN_PKG += pkg-config-$(PKGCFG_VERSION).tar.gz
  344. # ***************************************************************************
  345. # gettext
  346. # ***************************************************************************
  347. gettext-$(GETTEXT_VERSION).tar.gz:
  348. $(WGET) $(GETTEXT_URL)
  349. gettext: gettext-$(GETTEXT_VERSION).tar.gz
  350. $(EXTRACT_GZ)
  351. ifdef HAVE_WIN32
  352. patch -p0 < Patches/gettext-win32.patch
  353. endif
  354. ifdef HAVE_DARWIN_OS
  355. patch -p0 < Patches/gettext-macosx.patch
  356. endif
  357. .intl: gettext .iconv
  358. ifdef HAVE_WIN32
  359. ( cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-relocatable --with-iconv-prefix=$(PREFIX) --disable-java --disable-native-java)
  360. else
  361. ( cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-java --disable-native-java --without-emacs)
  362. endif
  363. ifeq ($(BUILD),i586-pc-beos)
  364. # The ugliest kludge ever - so libtool correctly links shared libraries
  365. # on BeOS. Sorry, I just can't figure out how libtool works
  366. ( cd $< && for f in `find . -name libtool`; do  sed -e 's/ -shared / -nostart /' -e 's/^predep_objects.*/predep_objects=""/' -i  $$f; chmod +x $$f; done )
  367. endif
  368. ifneq ($(HOST),$(BUILD))
  369.   ifndef HAVE_CYGWIN
  370.     # We'll use the installed gettext and only need to cross-compile libintl, also build autopoint and gettextsize tools need for VLC bootstrap
  371. ( cd $< && make -C gettext-runtime/intl && patch -p1 < ../Patches/libintl.patch && make -C gettext-runtime/intl install && make -C gettext-tools/misc install )
  372.   else
  373.     # We are compiling for MinGW on Cygwin -- build the full current gettext
  374. ( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install )
  375.   endif
  376. else
  377. # Build and install the whole gettext
  378. ( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install )
  379. endif
  380. # Work around another non-sense of autoconf.
  381. ifdef HAVE_WIN32
  382. (cd ../include; sed -i.orig '311 c #if 0' libintl.h)
  383. endif
  384. $(INSTALL_NAME)
  385. touch $@
  386. CLEAN_FILE += .intl
  387. CLEAN_PKG += gettext
  388. DISTCLEAN_PKG += gettext-$(GETTEXT_VERSION).tar.gz
  389. # ***************************************************************************
  390. # libiconv
  391. # ***************************************************************************
  392. libiconv-$(LIBICONV_VERSION).tar.gz:
  393. $(WGET) $(LIBICONV_URL)
  394. libiconv: libiconv-$(LIBICONV_VERSION).tar.gz
  395. $(EXTRACT_GZ)
  396. ifdef HAVE_DARWIN_OS
  397. patch -p0 < Patches/libiconv.patch
  398. endif
  399. patch -p0 < Patches/libiconv-autoconf-uclibc.patch
  400. libiconv-snowleopard.tar.bz2:
  401. $(WGET) $(LIBICONVMAC_URL)
  402. libiconv-snowleopard: libiconv-snowleopard.tar.bz2
  403. $(EXTRACT_BZ2)
  404. ifdef HAVE_DARWIN_OS
  405. ifdef HAVE_DARWIN_10
  406. .iconv: libiconv-snowleopard
  407. (cd libiconv-snowleopard && cp libiconv.* ../../lib/)
  408. touch $@
  409. else
  410. .iconv:
  411. touch $@
  412. endif
  413. else
  414. .iconv: libiconv
  415. (cd libiconv; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls && make && make install)
  416. $(INSTALL_NAME)
  417. touch $@
  418. endif
  419. CLEAN_FILE += .iconv
  420. CLEAN_PKG += libiconv
  421. DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz
  422. # ***************************************************************************
  423. # fontconfig
  424. # ***************************************************************************
  425. fontconfig-$(FONTCONFIG_VERSION).tar.gz:
  426. $(WGET) $(FONTCONFIG_URL)
  427. fontconfig: fontconfig-$(FONTCONFIG_VERSION).tar.gz Patches/fontconfig.patch
  428. $(EXTRACT_GZ)
  429. patch -p0 < Patches/fontconfig.patch
  430. patch -p0 < Patches/fontconfig-nodocs.patch
  431. (cd $@; autoreconf -ivf)
  432. .fontconfig: fontconfig .xml .freetype
  433. ifdef HAVE_WIN32
  434.   ifdef HAVE_CYGWIN
  435. (cd $<; LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure --target=$(HOST) --disable-pic --disable-shared --disable-docs --with-cache-dir=WINDOWSTEMPDIR --with-arch=i686 --with-default-fonts=C:\windowsfonts --with-add-fonts=C:\winntfonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install)
  436.   else
  437. (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure $(HOSTCONF) --with-cache-dir=WINDOWSTEMPDIR --with-arch=i686 --with-default-fonts=C:\windowsfonts --with-add-fonts=C:\winntfonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 --disable-docs && make && make install)
  438.   endif
  439. else
  440.   ifdef HAVE_DARWIN_OS
  441. (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`xml2-config --cflags` LIBXML2_LIBS=`xml2-config --libs` ./configure $(HOSTCONF) --with-cache-dir=/usr/X11/var/cache/fontconfig --with-confdir=/usr/X11/lib/X11/fonts --with-default-fonts=/System/Library/Fonts --with-add-fonts=/Library/Fonts,~/Library/Fonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --with-arch=$(ARCH) --enable-libxml2 --disable-docs && make && make install-exec && (cd fontconfig ; make install-data) && cp fontconfig.pc $(PKG_CONFIG_LIBDIR))
  442.   else
  443. (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 --disable-docs && make && make install)
  444.   endif
  445. endif
  446. $(INSTALL_NAME)
  447. touch $@
  448. CLEAN_FILE += .fontconfig
  449. CLEAN_PKG += fontconfig
  450. DISTCLEAN_PKG += fontconfig-$(FONTCONFIG_VERSION).tar.gz
  451. # ***************************************************************************
  452. # freetype2
  453. # ***************************************************************************
  454. freetype-$(FREETYPE2_VERSION).tar.gz:
  455. $(WGET) $(FREETYPE2_URL)
  456. freetype2: freetype-$(FREETYPE2_VERSION).tar.gz
  457. $(EXTRACT_GZ)
  458. .freetype: freetype2
  459. ifdef HAVE_CYGWIN
  460. (cd $<; ./configure --target=$(HOST) --disable-pic --disable-shared --prefix=$(PREFIX) && make && make install)
  461. else
  462. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
  463. endif
  464. $(INSTALL_NAME)
  465. touch $@
  466. CLEAN_FILE += .freetype
  467. CLEAN_PKG += freetype2
  468. DISTCLEAN_PKG += freetype-$(FREETYPE2_VERSION).tar.gz
  469. # ***************************************************************************
  470. # fribidi
  471. # ***************************************************************************
  472. fribidi-$(FRIBIDI_VERSION).tar.gz:
  473. $(WGET) $(FRIBIDI_URL)
  474. fribidi: fribidi-$(FRIBIDI_VERSION).tar.gz
  475. $(EXTRACT_GZ)
  476. patch -p0 < Patches/fribidi.patch
  477. ( cd $@; rm -f configure; ./bootstrap)
  478. .fribidi: fribidi .iconv
  479. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX)  && make && make install)
  480. $(INSTALL_NAME)
  481. touch $@
  482. CLEAN_FILE += .fribidi
  483. CLEAN_PKG += fribidi
  484. DISTCLEAN_PKG += fribidi-$(FRIBIDI_VERSION).tar.gz
  485. # ***************************************************************************
  486. # liba52
  487. # ***************************************************************************
  488. a52dec-$(A52DEC_VERSION).tar.gz:
  489. $(WGET) $(A52DEC_URL)
  490. a52dec: a52dec-$(A52DEC_VERSION).tar.gz
  491. $(EXTRACT_GZ)
  492. .a52: a52dec
  493. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && cd liba52 && make && make install && cd ../include && make && make install)
  494. touch $@
  495. CLEAN_FILE += .a52
  496. CLEAN_PKG += a52dec
  497. DISTCLEAN_PKG += a52dec-$(A52DEC_VERSION).tar.gz
  498. # ***************************************************************************
  499. # mpeg2dec
  500. # ***************************************************************************
  501. libmpeg2-$(LIBMPEG2_VERSION).tar.gz:
  502. $(WGET) $(LIBMPEG2_URL)
  503. libmpeg2: libmpeg2-$(LIBMPEG2_VERSION).tar.gz
  504. $(EXTRACT_GZ)
  505. .mpeg2: libmpeg2
  506. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --without-x --disable-sdl && cd libmpeg2 && make && make install && cd ../include && make && make install)
  507. touch $@
  508. CLEAN_FILE += .mpeg2
  509. CLEAN_PKG += libmpeg2
  510. DISTCLEAN_PKG += libmpeg2-$(LIBMPEG2_VERSION).tar.gz
  511. # ***************************************************************************
  512. # libid3tag
  513. # ***************************************************************************
  514. libid3tag-$(LIBID3TAG_VERSION).tar.gz:
  515. $(WGET) $(LIBID3TAG_URL)
  516. libid3tag: libid3tag-$(LIBID3TAG_VERSION).tar.gz
  517. $(EXTRACT_GZ)
  518. patch -d libid3tag -p0 < Patches/libid3tag-0.15.1b-fix-CVE-2008-2109.patch
  519. ifdef HAVE_DARWIN_OS
  520. ( cd $@; sed -e 's%-dynamiclib%-dynamiclib -arch $(ARCH)%' -i.orig  configure )
  521. endif
  522. .id3tag: libid3tag
  523. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
  524. $(INSTALL_NAME)
  525. touch $@
  526. CLEAN_FILE += .id3tag
  527. CLEAN_PKG += libid3tag
  528. DISTCLEAN_PKG += libid3tag-$(LIBID3TAG_VERSION).tar.gz
  529. # ***************************************************************************
  530. # pcre
  531. # ***************************************************************************
  532. pcre-$(PCRE_VERSION).tar.bz2:
  533. $(WGET) $(PCRE_URL)
  534. pcre: pcre-$(PCRE_VERSION).tar.bz2
  535. $(EXTRACT_BZ2)
  536. .pcre: pcre
  537. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install )
  538. touch $@
  539. CLEAN_FILE += .pcre
  540. CLEAN_PKG += pcre
  541. DISTCLEAN_PKG += pcre-$(PCRE_VERSION).tar.bz2
  542. # ***************************************************************************
  543. # lua
  544. # ***************************************************************************
  545. ifdef HAVE_WIN32
  546. LUA_MAKEPLATEFORM=mingw
  547. else
  548. ifdef HAVE_DARWIN_OS
  549. LUA_MAKEPLATEFORM=macosx
  550. else
  551. ifdef HAVE_LINUX
  552. LUA_MAKEPLATEFORM=linux
  553. else
  554. ifdef HAVE_BSD
  555. LUA_MAKEPLATEFORM=bsd
  556. else
  557. LUA_MAKEPLATEFORM=generic
  558. endif
  559. endif
  560. endif
  561. endif
  562. lua-$(LUA_VERSION).tar.gz:
  563. $(WGET) $(LUA_URL)
  564. lua: lua-$(LUA_VERSION).tar.gz
  565. $(EXTRACT_GZ)
  566. ifdef HAVE_DARWIN_OS
  567. (cd $@; sed -e 's%gcc%$(CC)%' -e 's%LDFLAGS=%LDFLAGS=$(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)%' -i.orig  src/Makefile)
  568. endif
  569. .lua: lua
  570. ifdef HAVE_WIN32
  571. ( cd $< && sed -i.orig 's/lua luac/lua.exe/' Makefile && cd src && sed -i.orig 's/CC=/#CC=/' Makefile && sed -i 's/strip/$(STRIP)/' Makefile && cd ../..)
  572. (cd $<&& $(HOSTCC) make $(LUA_MAKEPLATEFORM)&& cd src&& $(HOSTCC) make liblua.a&& cd ..&&$(HOSTCC) make install INSTALL_TOP=$(PREFIX)&& $(RANLIB) $(PREFIX)/lib/liblua.a)
  573. (cd $<&& sed -i.orig 's@prefix= /usr/local@prefix= $(PREFIX)@' etc/lua.pc&& mkdir -p $(PREFIX)/lib/pkgconfig&& cp etc/lua.pc $(PREFIX)/lib/pkgconfig)
  574. else
  575. (cd $<&& patch -p1) < Patches/lua-noreadline.patch
  576. (cd $<&& $(HOSTCC) make $(LUA_MAKEPLATEFORM) && make install INSTALL_TOP=$(PREFIX))
  577. endif
  578. touch $@
  579. CLEAN_FILE += .lua
  580. CLEAN_PKG += lua
  581. DISTCLEAN_PKG += lua-$(LUA_VERSION).tar.gz
  582. # ***************************************************************************
  583. # libmad
  584. # ***************************************************************************
  585. libmad-$(LIBMAD_VERSION).tar.gz:
  586. $(WGET) $(LIBMAD_URL)
  587. libmad: libmad-$(LIBMAD_VERSION).tar.gz
  588. $(EXTRACT_GZ)
  589. ifdef HAVE_DARWIN_OS
  590. ( cd $@; sed -e 's%-march=i486%$(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)%' -e 's%-dynamiclib%-dynamiclib -arch $(ARCH)%' -i.orig  configure )
  591. endif
  592. .mad: libmad
  593. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3 $(NOTHUMB)" && make && make install)
  594. $(INSTALL_NAME)
  595. touch $@
  596. CLEAN_FILE += .mad
  597. CLEAN_PKG += libmad
  598. DISTCLEAN_PKG += libmad-$(LIBMAD_VERSION).tar.gz
  599. # ***************************************************************************
  600. # ogg
  601. # ***************************************************************************
  602. libogg-$(OGG_VERSION).tar.gz:
  603. $(WGET) $(OGG_URL)
  604. libogg: libogg-$(OGG_VERSION).tar.gz
  605. $(EXTRACT_GZ)
  606. patch -p0 < Patches/ogg.patch
  607. patch -p0 < Patches/libogg-1.1.patch
  608. ifdef HAVE_WINCE
  609. patch -p0 < Patches/libogg-wince.patch
  610. endif
  611. (cd $@; autoconf)
  612. .ogg: libogg
  613. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make install)
  614. $(INSTALL_NAME)
  615. touch $@
  616. CLEAN_FILE += .ogg
  617. CLEAN_PKG += libogg
  618. DISTCLEAN_PKG += libogg-$(OGG_VERSION).tar.gz
  619. # ***************************************************************************
  620. # vorbis
  621. # ***************************************************************************
  622. libvorbis-$(VORBIS_VERSION).tar.gz:
  623. $(WGET) $(VORBIS_URL)
  624. libvorbis: libvorbis-$(VORBIS_VERSION).tar.gz
  625. $(EXTRACT_GZ)
  626. .vorbis: libvorbis .ogg
  627. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
  628. # $(INSTALL_NAME)
  629. touch $@
  630. .vorbisenc: .vorbis .ogg
  631. # $(INSTALL_NAME)
  632. touch $@
  633. CLEAN_FILE += .vorbis .vorbisenc
  634. CLEAN_PKG += libvorbis
  635. DISTCLEAN_PKG += libvorbis-$(VORBIS_VERSION).tar.gz
  636. # ***************************************************************************
  637. # tremor
  638. # ***************************************************************************
  639. ifdef SVN
  640. tremor:
  641. $(SVN) co http://svn.xiph.org/trunk/Tremor tremor
  642. (cd $@ && patch -p0 < ../Patches/tremor.patch)
  643. (cd $@; rm -f ogg.h && echo "#include <ogg/ogg.h>" > ogg.h && rm -f os_types.h && echo "#include <ogg/os_types.h>" > os_types.h && ./autogen.sh)
  644. else
  645. tremor-$(TREMOR_VERSION).tar.bz2:
  646. echo "tremor snapshot does not exist, you MUST use subversion !"
  647. exit -1
  648. $(WGET) $(TREMOR_URL)
  649. tremor: tremor-$(TREMOR_VERSION).tar.bz2
  650. $(EXTRACT_BZ2)
  651. endif
  652. .tremor: tremor .ogg
  653. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install)
  654. $(INSTALL_NAME)
  655. touch $@
  656. ifdef SVN
  657. tremor-source: tremor
  658. tar cfvz tremor-$(DATE).tar.gz tremor
  659. SOURCE += tremor-source
  660. endif
  661. CLEAN_FILE += .tremor
  662. CLEAN_PKG += tremor
  663. #DISTCLEAN_PKG += tremor-$(TREMOR_VERSION).tar.bz2 #no tremor snapshot
  664. # ***************************************************************************
  665. # theora
  666. # ***************************************************************************
  667. libtheora-$(THEORA_VERSION).tar.bz2:
  668. $(WGET) $(THEORA_URL)
  669. libtheora: libtheora-$(THEORA_VERSION).tar.bz2
  670. $(EXTRACT_BZ2)
  671. patch -p0 < Patches/theora.patch
  672. patch -p0 < Patches/libtheora-includes.patch
  673. ifdef HAVE_WIN32
  674. patch -p0 < Patches/theora-doc.patch
  675. endif
  676. ifdef HAVE_DARWIN_OS
  677. ifndef HAVE_DARWIN_10
  678. patch -p0 < Patches/libtheora-xcode31.patch
  679. endif
  680. endif
  681. (cd $@; autoconf)
  682. THEORACONF = --disable-sdltest --disable-oggtest --disable-vorbistest --disable-examples
  683. ifdef HAVE_WIN32
  684. THEORACONF += --disable-docs
  685. endif
  686. ifdef HAVE_DARWIN_64
  687. THEORACONF += --disable-asm
  688. endif
  689. .theora: libtheora .ogg
  690. ifdef HAVE_BEOS
  691. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(THEORACONF) --disable-asm && make && make install)
  692. else
  693. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(THEORACONF) && make && make install)
  694. endif
  695. $(INSTALL_NAME)
  696. touch $@
  697. CLEAN_FILE += .theora
  698. CLEAN_PKG += libtheora
  699. DISTCLEAN_PKG += libtheora-$(THEORA_VERSION).tar.bz2
  700. # ***************************************************************************
  701. # shout
  702. # ***************************************************************************
  703. libshout-$(SHOUT_VERSION).tar.gz:
  704. $(WGET) $(SHOUT_URL)
  705. libshout: libshout-$(SHOUT_VERSION).tar.gz
  706. $(EXTRACT_GZ)
  707. ifdef HAVE_WIN32
  708. patch -p0 < Patches/libshout-win32.patch
  709. endif
  710. .shout: libshout .theora .ogg .speex .vorbis
  711. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) &&  make && make install )
  712. $(INSTALL_NAME)
  713. touch $@
  714. CLEAN_FILE += .shout
  715. CLEAN_PKG += libshout
  716. DISTCLEAN_PKG += libshout-$(SHOUT_VERSION).tar.gz
  717. # ***************************************************************************
  718. # flac
  719. # ***************************************************************************
  720. flac-$(FLAC_VERSION).tar.gz:
  721. $(WGET) $(FLAC_URL)
  722. flac: flac-$(FLAC_VERSION).tar.gz
  723. $(EXTRACT_GZ)
  724. ifdef HAVE_WIN32
  725. patch -p0 < Patches/flac-win32.patch
  726. endif
  727. ifdef HAVE_DARWIN_OS
  728. ( cd $@; sed -e 's%-dynamiclib%-dynamiclib -arch $(ARCH)%' -i.orig  configure )
  729. endif
  730. FLAC_DISABLE_FLAGS = --disable-oggtest --disable-xmms-plugin --disable-cpplibs
  731. .flac: flac .ogg
  732. ifdef HAVE_WIN32
  733. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src&& make -C libFLAC&& make -C libFLAC install && cd .. && make -C include install)
  734. else
  735. ifdef HAVE_DARWIN_OS
  736. ifdef HAVE_DARWIN_OS_ON_INTEL
  737. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm-optimizations && cd src && make -C libFLAC && make -C libFLAC install  && cd .. && make -C include install)
  738. else
  739. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src && make -C libFLAC && make -C libFLAC install  && cd .. && make -C include install)
  740. endif
  741. else
  742. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX)  $(FLAC_DISABLE_FLAGS) && cd src && make -C libFLAC && make -C libFLAC install  && cd .. && make -C include install)
  743. endif
  744. endif
  745. $(INSTALL_NAME)
  746. touch $@
  747. CLEAN_FILE += .flac
  748. CLEAN_PKG += flac
  749. DISTCLEAN_PKG += flac-$(FLAC_VERSION).tar.gz
  750. # ***************************************************************************
  751. # speex
  752. # ***************************************************************************
  753. speex-$(SPEEX_VERSION).tar.gz:
  754. $(WGET) $(SPEEX_URL)
  755. speex: speex-$(SPEEX_VERSION).tar.gz
  756. $(EXTRACT_GZ)
  757. patch -p0 < Patches/speex.patch
  758. ifdef HAVE_BEOS
  759. patch -p0 < Patches/speex-BeOS.patch
  760. endif
  761. .speex: speex
  762. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-ogg=no && make && make install)
  763. $(INSTALL_NAME)
  764. touch $@
  765. CLEAN_FILE += .speex
  766. CLEAN_PKG += speex
  767. DISTCLEAN_PKG += speex-$(SPEEX_VERSION).tar.gz
  768. # ***************************************************************************
  769. # faad2
  770. # ***************************************************************************
  771. faad2-$(FAAD2_VERSION).tar.gz:
  772. $(WGET) $(FAAD2_URL)
  773. faad2: faad2-$(FAAD2_VERSION).tar.gz
  774. $(EXTRACT_GZ)
  775. (cd $@; sh ./bootstrap)
  776. .faad: faad2
  777. (cd $< && $(HOSTCC) ./configure $(HOSTCONF) --disable-shared --prefix=$(PREFIX) CFLAGS="-O3" && sed -i.orig "s/shrext_cmds/shrext/g" libtool && make -C libfaad && make -C libfaad install)
  778. touch $@
  779. CLEAN_FILE += .faad
  780. CLEAN_PKG += faad2
  781. DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz
  782. # ***************************************************************************
  783. # lame
  784. # ***************************************************************************
  785. lame-$(LAME_VERSION).tar.gz:
  786. $(WGET) $(LAME_URL)
  787. lame: lame-$(LAME_VERSION).tar.gz
  788. $(EXTRACT_GZ)
  789. .lame: lame
  790. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-analyser-hooks --disable-decoder --disable-shared --disable-gtktest --disable-frontend && make && make install)
  791. touch $@
  792. CLEAN_FILE += .lame
  793. CLEAN_PKG += lame
  794. DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz
  795. # ***************************************************************************
  796. # libebml
  797. # ***************************************************************************
  798. libebml-$(LIBEBML_VERSION).tar.bz2:
  799. $(WGET) $(LIBEBML_URL)
  800. libebml: libebml-$(LIBEBML_VERSION).tar.bz2
  801. $(EXTRACT_BZ2)
  802. ifdef HAVE_WIN32
  803. (cd $@; patch -p0 < ../Patches/libebml-svn-win32.patch)
  804. endif
  805. .ebml: libebml
  806. ifdef HAVE_WIN32
  807. (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC2) CFLAGS="$(CFLAGS) -DWIN32" SHARED=no && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC2))
  808. else
  809. (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX))
  810. $(RANLIB) $(PREFIX)/lib/libebml.a
  811. endif
  812. touch $@
  813. CLEAN_FILE += .ebml
  814. CLEAN_PKG += libebml
  815. DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.bz2
  816. # ***************************************************************************
  817. # libmatroska
  818. # ***************************************************************************
  819. libmatroska-$(LIBMATROSKA_VERSION).tar.bz2:
  820. $(WGET) $(LIBMATROSKA_URL)
  821. libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
  822. $(EXTRACT_BZ2)
  823. patch -p0 < ./Patches/libmatroska-kaxblock.patch
  824. ifdef HAVE_WIN32
  825. (cd $@; patch -p0 < ../Patches/libmatroska-win32.patch)
  826. endif
  827. .matroska: libmatroska .ebml
  828. ifdef HAVE_WIN32
  829. (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC2) SHARED=no EBML_DLL=no libmatroska.a && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC2))
  830. else
  831. (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX))
  832. $(RANLIB) $(PREFIX)/lib/libmatroska.a
  833. endif
  834. touch $@
  835. CLEAN_FILE += .matroska
  836. CLEAN_PKG += libmatroska
  837. DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
  838. # ***************************************************************************
  839. # libamrnb
  840. # ***************************************************************************
  841. amrnb-$(LIBAMR_NB_VERSION).tar.bz2:
  842. $(WGET) $(LIBAMR_NB)
  843. libamrnb: amrnb-$(LIBAMR_NB_VERSION).tar.bz2
  844. $(EXTRACT_BZ2)
  845. .libamrnb: libamrnb
  846. (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --enable-shared && make && make install)
  847. touch $@
  848. CLEAN_FILE += .libamrnb
  849. CLEAN_PKG += libamrnb
  850. DISTCLEAN_PKG += amrnb-$(LIBAMR_NB_VERSION).tar.bz2
  851. # ***************************************************************************
  852. # libamrwb
  853. # ***************************************************************************
  854. amrwb-$(LIBAMR_WB_VERSION).tar.bz2:
  855. $(WGET) $(LIBAMR_WB)
  856. libamrwb: amrwb-$(LIBAMR_WB_VERSION).tar.bz2
  857. $(EXTRACT_BZ2)
  858. .libamrwb: libamrwb
  859. (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --enable-shared && make && make install)
  860. touch $@
  861. CLEAN_FILE += .libamrwb
  862. CLEAN_PKG += libamrwb
  863. DISTCLEAN_PKG += amrwb-$(LIBAMR_WB_VERSION).tar.bz2
  864. # ***************************************************************************
  865. # ffmpeg
  866. # ***************************************************************************
  867. ifdef SVN
  868. ffmpeg:
  869. $(SVN) co $(FFMPEG_SVN) ffmpeg -r 20342
  870. ifeq ($(HOST),i586-pc-beos)
  871. (cd $@; patch -p0 < ../Patches/ffmpeg-svn-beos.patch)
  872. endif
  873. ifdef HAVE_ISA_THUMB
  874. patch -p0 < Patches/ffmpeg-avcodec-no-thumb.patch
  875. endif
  876. ifdef HAVE_BEOS
  877. (cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch)
  878. endif
  879. ifdef HAVE_DARWIN_OS
  880. ifndef HAVE_DARWIN_OS_ON_INTEL
  881. (cd $@; patch -p0 < ../Patches/ffmpeg-darwin-ppc-mdynamic.patch)
  882. endif
  883. endif
  884. ifdef HAVE_UCLIBC
  885. patch -p0 < Patches/ffmpeg-svn-uclibc.patch
  886. patch -p0 < Patches/ffmpeg-svn-internal-define.patch
  887. patch -p0 < Patches/ffmpeg-svn-libavformat.patch
  888. endif
  889. ifdef HAVE_WIN32
  890. (cd $@; patch -p0 < ../Patches/ffmpeg-svn-win32.patch)
  891. endif
  892. ifdef NO_TEXT_RELOCATION
  893. echo "Broken LD. Fix your tools."
  894. exit -1
  895. endif
  896. (cd $@; patch -p1 < ../Patches/eac3_spectral.patch)
  897. else
  898. ffmpeg-$(FFMPEG_VERSION).tar.gz:
  899. echo "ffmpeg snapshot is too old, you MUST use subversion !"
  900. exit -1
  901. $(WGET) $(FFMPEG_URL)
  902. ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
  903. $(EXTRACT_GZ)
  904. endif
  905. FFMPEGCONF += 
  906. --disable-debug 
  907. --enable-gpl 
  908. --enable-postproc 
  909. --disable-ffserver 
  910. --disable-ffmpeg 
  911. --disable-ffplay 
  912. --disable-devices 
  913. --disable-protocols 
  914. --disable-network
  915. ifdef HAVE_WIN32
  916. FFMPEGCONF += --disable-bzlib --disable-decoder=dca --enable-w32threads
  917. else
  918. FFMPEGCONFG += --enable-pthreads
  919. endif
  920. ifdef HAVE_WINCE
  921. .ffmpeg: ffmpeg .zlib
  922. else
  923. ifdef HAVE_UCLIBC
  924. .ffmpeg: ffmpeg
  925. else
  926. .ffmpeg: ffmpeg .lame .gsm
  927. endif
  928. endif
  929. (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS)" --extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) --disable-shared --enable-static && make && make install-libs install-headers)
  930. touch $@
  931. ifdef SVN
  932. ffmpeg-source: ffmpeg
  933. tar cfvz ffmpeg-$(DATE).tar.gz ffmpeg
  934. SOURCE += ffmpeg-source
  935. endif
  936. CLEAN_FILE += .ffmpeg
  937. CLEAN_PKG += ffmpeg
  938. DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz
  939. # ***************************************************************************
  940. # libdvdcss
  941. # ***************************************************************************
  942. libdvdcss-$(LIBDVDCSS_VERSION).tar.gz:
  943. $(WGET) $(LIBDVDCSS_URL)
  944. ifdef SVN
  945. libdvdcss:
  946. $(SVN) co svn://svn.videolan.org/libdvdcss/trunk libdvdcss
  947. cd $@ && sh bootstrap
  948. else
  949. libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
  950. $(EXTRACT_GZ)
  951. endif
  952. .dvdcss: libdvdcss
  953. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --disable-doc --prefix=$(PREFIX) && make && make install)
  954. $(INSTALL_NAME)
  955. touch $@
  956. ifdef SVN
  957. libdvdcss-source: libdvdcss
  958. tar cfvz libdvdcss-$(DATE).tar.gz libdvdcss
  959. SOURCE += libdvdcss-source
  960. endif
  961. CLEAN_FILE += .dvdcss
  962. CLEAN_PKG += libdvdcss
  963. DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
  964. # ***************************************************************************
  965. # dummy dvdread to trigger the INSTALL_NAME script
  966. # ***************************************************************************
  967. # .dvdread: .dvdnav
  968. #  $(INSTALL_NAME)
  969. #  touch $@
  970. #
  971. # CLEAN_FILE += .dvdread
  972. # ***************************************************************************
  973. # libdvdread: We use dvdnav's dvdread
  974. # ***************************************************************************
  975. libdvdread:
  976. $(SVN) co $(LIBDVDREAD_SVN)  libdvdread
  977. (cd $@; patch  -p 0 < ../Patches/libdvdread.patch)
  978. ifdef HAVE_WIN32
  979. (cd $@; patch  -p 0 < ../Patches/libdvdread-win32.patch)
  980. endif
  981. (cd $@; sh autogen.sh noconfig)
  982. .libdvdread: libdvdread .dvdcss
  983. (cd libdvdread; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
  984. $(INSTALL_NAME)
  985. touch $@
  986. CLEAN_FILE += .libdvdread
  987. CLEAN_PKG += libdvdread
  988. #DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.gz
  989. # ***************************************************************************
  990. # libdvdnav
  991. # ***************************************************************************
  992. ifdef SVN
  993. libdvdnav:
  994. $(SVN) co $(LIBDVDNAV_SVN)  libdvdnav
  995. patch -d libdvdnav -p0 < Patches/libdvdnav.patch
  996. (cd $@; ./autogen.sh noconfig)
  997. else
  998. libdvdnav-$(LIBDVDNAV_VERSION).tar.gz:
  999. $(WGET) $(LIBDVDNAV_URL)
  1000. libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
  1001. $(EXTRACT_GZ)
  1002. patch -p0 < Patches/libdvdnav.patch
  1003. ifdef HAVE_WIN32
  1004. patch -p0 < Patches/libdvdnav-win32.patch
  1005. endif
  1006. (cd $@; ./autogen.sh noconfig)
  1007. endif
  1008. .dvdnav: libdvdnav .libdvdread
  1009. ifdef HAVE_WIN32
  1010. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) && make && make install)
  1011. else
  1012. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
  1013. endif
  1014. $(INSTALL_NAME)
  1015. touch $@
  1016. CLEAN_FILE += .dvdnav
  1017. CLEAN_PKG += libdvdnav
  1018. DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2
  1019. # ***************************************************************************
  1020. # libdvbpsi
  1021. # ***************************************************************************
  1022. libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz:
  1023. $(WGET) $(LIBDVBPSI_URL)
  1024. libdvbpsi: libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
  1025. $(EXTRACT_GZ)
  1026. .dvbpsi: libdvbpsi
  1027. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && cd src && make && make install)
  1028. $(INSTALL_NAME)
  1029. touch $@
  1030. CLEAN_FILE += .dvbpsi
  1031. CLEAN_PKG += libdvbpsi
  1032. DISTCLEAN_PKG += libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
  1033. # ***************************************************************************
  1034. # live
  1035. # ***************************************************************************
  1036. live555-$(LIVEDOTCOM_VERSION).tar.gz:
  1037. $(WGET) $(LIVEDOTCOM_URL)
  1038. live: live555-$(LIVEDOTCOM_VERSION).tar.gz
  1039. $(EXTRACT_GZ)
  1040. patch -p0 < Patches/live-noapps.patch
  1041. patch -p0 < Patches/live-uselocale.patch
  1042. .live: live
  1043. ifdef HAVE_WIN32
  1044. (cd $<;./genMakefiles mingw && make $(HOSTCC))
  1045. else
  1046. ifdef HAVE_WINCE
  1047. (cd $<;./genMakefiles mingw && make $(HOSTCC))
  1048. else
  1049. ifdef HAVE_DARWIN_OS
  1050. (cd $<; sed -e 's%-DBSD=1%-DBSD=1 $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)%' -e 's%cc%$(CC)%'  -e 's%c++%$(CXX)%' -i.orig  config.macosx)
  1051. (cd $<; ./genMakefiles macosx && make)
  1052. else
  1053. (cd $<; sed -e 's/=/= EXTRA_CPPFLAGS/' -e 's%EXTRA_CPPFLAGS%-I/include%' -i.orig groupsock/Makefile.head)
  1054. ifdef HAVE_UCLIBC
  1055. ifdef HAVE_BIGENDIAN
  1056. (cd $<; ./genMakefiles armeb-uclibc && make $(HOSTCC))
  1057. endif
  1058. else
  1059. (cd $<; sed -e 's%-D_FILE_OFFSET_BITS=64%-D_FILE_OFFSET_BITS=64 -fPIC -DPIC%' -i.orig config.linux)
  1060. (cd $<; ./genMakefiles linux && make $(HOSTCC))
  1061. endif
  1062. endif
  1063. endif
  1064. endif
  1065. mkdir -p $(PREFIX)/lib $(PREFIX)/include
  1066. cp $</groupsock/libgroupsock.a $(PREFIX)/lib
  1067. cp $</liveMedia/libliveMedia.a $(PREFIX)/lib
  1068. cp $</UsageEnvironment/libUsageEnvironment.a $(PREFIX)/lib
  1069. cp $</BasicUsageEnvironment/libBasicUsageEnvironment.a $(PREFIX)/lib
  1070. cp $</groupsock/include/*.hh $</groupsock/include/*.h $(PREFIX)/include
  1071. cp $</liveMedia/include/*.hh $(PREFIX)/include
  1072. cp $</UsageEnvironment/include/*.hh $(PREFIX)/include
  1073. cp $</BasicUsageEnvironment/include/*.hh $(PREFIX)/include
  1074. touch $@
  1075. CLEAN_FILE += .live
  1076. CLEAN_PKG += live
  1077. DISTCLEAN_PKG += live555-$(LIVEDOTCOM_VERSION).tar.gz
  1078. # ***************************************************************************
  1079. # goom2k4
  1080. # ***************************************************************************
  1081. goom$(GOOM2k4_VERSION).tar.gz:
  1082. $(WGET) $(GOOM2k4_URL)
  1083. mv goom-$(GOOM2k4_VERSION)-src.tar.gz goom$(GOOM2k4_VERSION).tar.gz
  1084. goom: goom$(GOOM2k4_VERSION).tar.gz
  1085. $(EXTRACT_GZ)
  1086. ifdef HAVE_DARWIN_OS
  1087. patch -p0 < Patches/goom.patch
  1088. endif
  1089. ifdef HAVE_WIN32
  1090. (cd $@; dos2unix configure.in)
  1091. patch -p0 < Patches/goom2k4-0-win32.patch
  1092. else
  1093. patch -p0 < Patches/goom2k4-0-mmx.patch
  1094. endif
  1095. patch -p0 < Patches/goom2k4-0-memleaks.patch
  1096. .goom2k4: goom
  1097. ifdef HAVE_DARWIN_OS
  1098. (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
  1099. else
  1100. (cd $< && rm -f configure; ACLOCAL="aclocal -I m4/" autoreconf -ivf && $(HOSTCC) sh ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static --disable-glibtest --disable-gtktest && make && make install)
  1101. endif
  1102. touch $@
  1103. CLEAN_FILE += .goom2k4
  1104. CLEAN_PKG += goom
  1105. DISTCLEAN_PKG += goom$(GOOM2k4_VERSION).tar.gz
  1106. # ***************************************************************************
  1107. # libcaca
  1108. # ***************************************************************************
  1109. libcaca-$(LIBCACA_VERSION).tar.gz:
  1110. $(WGET) $(LIBCACA_URL)
  1111. libcaca: libcaca-$(LIBCACA_VERSION).tar.gz
  1112. $(EXTRACT_GZ)
  1113. ifdef HAVE_DARWIN_OS
  1114. patch -p0 < Patches/libcaca-osx-sdkofourchoice.patch
  1115. (cd $@; sed -e 's%/Developer/SDKs/MacOSX10.4u.sdk%$(MACOSX_SDK)%' -i.orig  configure)
  1116. endif
  1117. .caca: libcaca
  1118. ifdef HAVE_WIN32
  1119. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-win32 --disable-x11 --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && make && make install)
  1120. else
  1121. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && make && make install)
  1122. endif
  1123. touch $@
  1124. CLEAN_FILE += .caca
  1125. CLEAN_PKG += libcaca
  1126. DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz
  1127. # ***************************************************************************
  1128. # libdca
  1129. # ***************************************************************************
  1130. libdca-$(LIBDCA_VERSION).tar.bz2:
  1131. $(WGET) $(LIBDCA_URL)
  1132. libdca: libdca-$(LIBDCA_VERSION).tar.bz2
  1133. $(EXTRACT_BZ2)
  1134. ifdef HAVE_DARWIN_9
  1135. ( cd $@; patch -p0 < ../Patches/libdca-llvm-gcc.patch )
  1136. endif
  1137. .dca: libdca
  1138. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
  1139. $(INSTALL_NAME)
  1140. touch $@
  1141. CLEAN_FILE += .dca
  1142. CLEAN_PKG += libdca
  1143. DISTCLEAN_PKG += libdca-$(LIBDCA_VERSION).tar.bz2
  1144. # ***************************************************************************
  1145. # libx264
  1146. # ***************************************************************************
  1147. x264-$(X264_VERSION).tar.gz:
  1148. $(WGET) $(X264_URL)
  1149. ifdef GIT
  1150. x264:
  1151. $(GIT) clone git://git.videolan.org/x264.git
  1152. patch -p0 < Patches/x264-svn-info-threads.patch
  1153. ifdef HAVE_WIN32
  1154. (cd x264; patch -p0 < ../Patches/x264-svn-win32.patch )
  1155. endif
  1156. else
  1157. x264: x264-$(X264_VERSION).tar.gz
  1158. $(EXTRACT_GZ)
  1159. ifdef HAVE_WIN32
  1160.   ifndef HAVE_CYGWIN
  1161. (cd x264;patch -p0 <../Patches/x264-20050624-win32.patch)
  1162.   endif
  1163. else
  1164. patch -p0 < Patches/x264.patch
  1165. rm x264/x264.c
  1166. endif
  1167. endif
  1168. ifdef HAVE_WIN32
  1169. .x264: x264 .pthreads
  1170.   ifdef HAVE_CYGWIN
  1171. (cd $<; $(HOSTCC) RANLIB="ranlib" AR="ar" STRIP="strip" ./configure $(X264CONF) --prefix="$(PREFIX)" --extra-cflags="-I$(PREFIX)/include" --extra-ldflags="-L$(PREFIX)/lib" && make && make install)
  1172.   else
  1173. (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" --enable-pthread && make && make install)
  1174.   endif
  1175. else
  1176. ifdef HAVE_DARWIN_OS_ON_INTEL
  1177.   .x264: x264 .yasm
  1178. (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
  1179. else
  1180.   .x264: x264
  1181. (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
  1182. endif
  1183. endif
  1184. touch $@
  1185. ifdef SVN
  1186. x264-source: x264
  1187. tar cfvz x264-$(DATE).tar.gz x264
  1188. SOURCE += x264-source
  1189. endif
  1190. CLEAN_FILE += .x264
  1191. CLEAN_PKG += x264
  1192. DISTCLEAN_PKG += x264-$(X264_VERSION).tar.gz
  1193. # ***************************************************************************
  1194. # libmodplug
  1195. # ***************************************************************************
  1196. libmodplug-$(MODPLUG_VERSION).tar.gz:
  1197. $(WGET) $(MODPLUG_URL)
  1198. libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz
  1199. $(EXTRACT_GZ)
  1200. ifdef HAVE_WIN32
  1201. patch -p0 < Patches/libmodplug-win32.patch
  1202. (cd $@; autoreconf -ivf )
  1203. endif
  1204. .mod: libmodplug
  1205. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
  1206. touch $@
  1207. CLEAN_FILE += .mod
  1208. CLEAN_PKG += libmodplug
  1209. DISTCLEAN_PKG += libmodplug-$(MODPLUG_VERSION).tar.gz
  1210. # ***************************************************************************
  1211. # libcddb
  1212. # ***************************************************************************
  1213. libcddb-$(CDDB_VERSION).tar.bz2:
  1214. $(WGET) $(CDDB_URL)
  1215. libcddb: libcddb-$(CDDB_VERSION).tar.bz2
  1216. $(EXTRACT_BZ2)
  1217. .cddb: libcddb
  1218. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" LDFLAGS="$(LDFLAGS) -liconv" && make && make install)
  1219. touch $@
  1220. CLEAN_FILE += .cddb
  1221. CLEAN_PKG += libcddb
  1222. DISTCLEAN_PKG += libcddb-$(CDDB_VERSION).tar.bz2
  1223. # ***************************************************************************
  1224. # vcdimager
  1225. # ***************************************************************************
  1226. vcdimager-$(VCDIMAGER_VERSION).tar.gz:
  1227. $(WGET) $(VCDIMAGER_URL)
  1228. vcdimager: vcdimager-$(VCDIMAGER_VERSION).tar.gz
  1229. $(EXTRACT_GZ)
  1230. ifdef HAVE_DARWIN_OS
  1231. .vcdimager: vcdimager
  1232. (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static LDFLAGS="$(LDFLAGS) -framework CoreFoundation -framework IOKit" && make && make install)
  1233. touch $@
  1234. else
  1235. .vcdimager: vcdimager
  1236. (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
  1237. touch $@
  1238. endif
  1239. CLEAN_FILE += .vcdimager
  1240. CLEAN_PKG += vcdimager
  1241. DISTCLEAN_PKG += vcdimager-$(VCDIMAGER_VERSION).tar.gz
  1242. # ***************************************************************************
  1243. # libcdio
  1244. # ***************************************************************************
  1245. libcdio-$(CDIO_VERSION).tar.gz:
  1246. $(WGET) $(CDIO_URL)
  1247. libcdio: libcdio-$(CDIO_VERSION).tar.gz
  1248. $(EXTRACT_GZ)
  1249. patch -p0 < Patches/libcdio-install-cdparanoia-pc.patch
  1250. ifdef HAVE_DARWIN_OS
  1251. patch -p0 < Patches/libcdio-modernOSX.patch
  1252. endif
  1253. .cdio: libcdio
  1254. (cd $<; sed -e 's%@ENABLE_CPP_TRUE@SUBDIRS = C++%@ENABLE_CPP_TRUE@SUBDIRS = %' -i.orig example/Makefile.in && autoreconf -fisv && ./configure --prefix=$(PREFIX) --without-vcdinfo --disable-shared && make && make install)
  1255. touch $@
  1256. CLEAN_FILE += .cdio
  1257. CLEAN_PKG += libcdio
  1258. DISTCLEAN_PKG += libcdio-$(CDIO_VERSION).tar.gz
  1259. # ***************************************************************************
  1260. # wxWidgets
  1261. # ***************************************************************************
  1262. wxWidgets-$(WXWIDGETS_VERSION).tar.gz:
  1263. $(WGET) $(WXWIDGETS_URL)
  1264. wxwidgets: wxWidgets-$(WXWIDGETS_VERSION).tar.gz
  1265. $(EXTRACT_GZ)
  1266. (cd wxwidgets; patch -p0 < ../Patches/wxwidgets_uri.patch)
  1267. .wxwidgets: wxwidgets
  1268. (cd wxwidgets; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-optimise --disable-debug --enable-unicode --disable-threads --disable-gif --disable-pcx --disable-iff --disable-pnm --without-zlib  --without-libpng --without-libjpeg --without-libtiff --without-regex  --disable-zipstream --disable-fs_zip --enable-no_rtti  --enable-no_exceptions --disable-exceptions --disable-stl --disable-html --without-expat --disable-protocols --disable-protocol --disable-xrc --disable-sound --disable-dialupman --disable-mediactrl  --disable-joystick --disable-grid --disable-datepick --disable-postscript--disable-filesystem --disable-fileproto --disable-ipc --disable-sockets --disable-precomp-headers && make && make install)
  1269. $(INSTALL_NAME)
  1270. touch $@
  1271. CLEAN_FILE += .wxwidgets
  1272. CLEAN_PKG += wxwidgets
  1273. DISTCLEAN_PKG += wxWidgets-$(WXWIDGETS_VERSION).tar.gz
  1274. # ***************************************************************************
  1275. # qt4 (win32 binary)
  1276. # ***************************************************************************
  1277. qt4-$(QT4_VERSION)-win32-bin.tar.bz2:
  1278. $(WGET) $(QT4_URL)
  1279. qt4_win32: qt4-$(QT4_VERSION)-win32-bin.tar.bz2
  1280. $(EXTRACT_BZ2)
  1281. chmod -R 755 qt4_win32
  1282. .qt4_win32: qt4_win32
  1283. (cd qt4_win32;mkdir -p $(PREFIX)/bin; mkdir -p $(PREFIX)/include;mkdir -p $(PREFIX)/lib/pkgconfig;rm -f $(PREFIX)/lib/pkgconfig/Qt*; sed 's,@@PREFIX@@,$(PREFIX),' lib/pkgconfig/QtCore.pc.in > $(PREFIX)/lib/pkgconfig/QtCore.pc;sed 's,@@PREFIX@@,$(PREFIX),' lib/pkgconfig/QtGui.pc.in > $(PREFIX)/lib/pkgconfig/QtGui.pc;cp -r include/* $(PREFIX)/include;cp lib/*a $(PREFIX)/lib)
  1284. ifeq ($(BUILD),i686-pc-cygwin)
  1285. (cd qt4_win32;cp bin/*.exe $(PREFIX)/bin)
  1286. else
  1287. (cd qt4_win32;cp bin/* $(PREFIX)/bin)
  1288. endif
  1289. touch $@
  1290. CLEAN_FILE += .qt4_win32
  1291. CLEAN_PKG += qt4_win32
  1292. DISTCLEAN_PKG += qt4-$(QT4_VERSION)-win32-bin.tar.bz2
  1293. # ***************************************************************************
  1294. # qt4 (trolltech binaries)
  1295. # ***************************************************************************
  1296. qt-win-opensource-$(QT4T_VERSION)-mingw.exe:
  1297. wget $(QT4T_URL)
  1298. Qt_win32: qt-win-opensource-$(QT4T_VERSION)-mingw.exe
  1299. mkdir Qt
  1300. 7z -oQt x qt-win-opensource-$(QT4T_VERSION)-mingw.exe $$OUTDIR/bin /bin $$OUTDIR/bin /lib $$OUTDIR/bin /include/QtCore $$OUTDIR/bin /include/QtGui $$OUTDIR/bin /src/gui $$OUTDIR/bin /src/corelib $$OUTDIR/bin /translations
  1301. mv Qt/$$OUTDIR/bin /* Qt/ && rmdir Qt/$$OUTDIR/bin  Qt/$$OUTDIR
  1302. find Qt -name '* ' -exec sh -c "mv "{}" `echo {}`" ;
  1303. find Qt/src -name '*.cpp' -exec rm {} ;
  1304. find Qt/translations -type f -a ! -name 'qt_*.qm' -exec rm {} ;
  1305. find Qt/include -name '*.h' -exec sh -c "mv {} {}.tmp; sed 's,../../src,../src,' {}.tmp > {}; rm -f {}.tmp" ;
  1306. mkdir Qt/lib/pkgconfig
  1307. sed -e s,@@VERSION@@,$(QT4T_VERSION), -e s,@@PREFIX@@,$(PREFIX), Patches/QtCore.pc.in > Qt/lib/pkgconfig/QtCore.pc
  1308. sed -e s,@@VERSION@@,$(QT4T_VERSION), -e s,@@PREFIX@@,$(PREFIX), Patches/QtGui.pc.in > Qt/lib/pkgconfig/QtGui.pc
  1309. .Qt_win32: Qt_win32
  1310. mkdir -p $(PREFIX)/bin $(PREFIX)/include/qt4/src $(PREFIX)/lib/pkgconfig $(PREFIX)/share/qt4/translations
  1311. cp Qt/bin/moc.exe Qt/bin/rcc.exe Qt/bin/uic.exe $(PREFIX)/bin
  1312. cp -r Qt/include/QtCore Qt/include/QtGui $(PREFIX)/include/qt4
  1313. cp -r Qt/src/corelib Qt/src/gui $(PREFIX)/include/qt4/src
  1314. cp Qt/lib/libQtCore4.a Qt/lib/libQtGui4.a $(PREFIX)/lib
  1315. cp Qt/lib/pkgconfig/* $(PREFIX)/lib/pkgconfig
  1316. cp Qt/translations/* $(PREFIX)/share/qt4/translations
  1317. touch $@
  1318. CLEAN_FILE += .Qt_win32
  1319. CLEAN_PKG += Qt_win32
  1320. DISTCLEAN_PKG += qt-win-opensource-$(QT4T_VERSION)-mingw.exe
  1321. # ***************************************************************************
  1322. # qt4 (source-code compilation for Mac)
  1323. # ***************************************************************************
  1324. qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz:
  1325. $(WGET) $(QT4_MAC_URL)
  1326. qt4_mac: qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz
  1327. $(EXTRACT_GZ)
  1328. .qt4_mac: qt4_mac
  1329. (cd qt4_mac; ./configure -prefix $(PREFIX) -release -fast -no-qt3support -nomake "examples demos" -sdk $(MACOSX_SDK) -no-framework && make && make install)
  1330. touch $@
  1331. CLEAN_FILE += .qt4_mac
  1332. CLEAN_PKG += qt4_mac
  1333. DISTCLEAN_PKG += qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz
  1334. # ***************************************************************************
  1335. # zlib
  1336. # ***************************************************************************
  1337. zlib-$(ZLIB_VERSION).tar.gz:
  1338. $(WGET) $(ZLIB_URL)
  1339. zlib: zlib-$(ZLIB_VERSION).tar.gz
  1340. $(EXTRACT_GZ)
  1341. patch -p0 < Patches/zlib.patch
  1342. .zlib: zlib
  1343. (cd zlib; $(HOSTCC2) ./configure --prefix=$(PREFIX) && make install)
  1344. $(INSTALL_NAME)
  1345. touch $@
  1346. CLEAN_FILE += .zlib
  1347. CLEAN_PKG += zlib
  1348. DISTCLEAN_PKG += zlib-$(ZLIB_VERSION).tar.gz
  1349. # ***************************************************************************
  1350. # PortAudio
  1351. # ***************************************************************************
  1352. pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz:
  1353. $(WGET) $(PORTAUDIO_URL)
  1354. portaudio: pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz
  1355. $(EXTRACT_GZ)
  1356. ifneq ($(HOST),$(BUILD))
  1357. (patch -p0 < Patches/portaudio-cross.patch;cd $@;  autoconf)
  1358. endif
  1359. .portaudio: portaudio
  1360. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make  install)
  1361. $(INSTALL_NAME)
  1362. touch $@
  1363. CLEAN_FILE += .portaudio
  1364. CLEAN_PKG += portaudio
  1365. DISTCLEAN_PKG += pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz
  1366. # ***************************************************************************
  1367. # xml
  1368. # ***************************************************************************
  1369. libxml2-$(XML_VERSION).tar.gz:
  1370. $(WGET) $(XML_URL)
  1371. xml: libxml2-$(XML_VERSION).tar.gz
  1372. $(EXTRACT_GZ)
  1373. ifdef HAVE_UCLIBC
  1374. patch -p0 < Patches/xml2-uclibc.patch
  1375. endif
  1376. XMLCONF = --with-minimal --with-catalog --with-reader --with-tree --with-push --with-xptr --with-valid --with-xpath --with-xinclude --with-sax1 --without-zlib --without-iconv --without-http --without-ftp  --without-debug --without-docbook --without-regexps --without-python
  1377. .xml: xml
  1378.   ifdef HAVE_CYGWIN
  1379. (cd xml; ac_cv_header_pthread_h="no" CFLAGS="-DLIBXML_STATIC" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(XMLCONF) && make && make install)
  1380.   else
  1381. (cd xml; CFLAGS="-DLIBXML_STATIC" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(XMLCONF) && make && make install)
  1382.   endif
  1383. ifndef HAVE_DARWIN_OS
  1384. $(INSTALL_NAME)
  1385. endif
  1386. touch $@
  1387. CLEAN_FILE += .xml
  1388. CLEAN_PKG += xml
  1389. DISTCLEAN_PKG += libxml2-$(XML_VERSION).tar.gz
  1390. # ***************************************************************************
  1391. # twolame
  1392. # ***************************************************************************
  1393. twolame-$(TWOLAME_VERSION).tar.gz:
  1394. $(WGET) $(TWOLAME_URL)
  1395. twolame: twolame-$(TWOLAME_VERSION).tar.gz
  1396. $(EXTRACT_GZ)
  1397. ifdef HAVE_BEOS
  1398. patch -p0 < Patches/twolame-BeOS.patch
  1399. endif
  1400. ifdef HAVE_WIN32
  1401. (cd twolame/win32; $(WGET) "http://twolame.svn.sourceforge.net/viewvc/*checkout*/twolame/trunk/win32/winutil.h")
  1402. endif
  1403. .twolame: twolame
  1404. (cd twolame; $(HOSTCC) CFLAGS="${CFLAGS}  -DLIBTWOLAME_STATIC" ./configure $(HOSTCONF) --prefix=$(PREFIX) &&  make && make install)
  1405. $(INSTALL_NAME)
  1406. touch $@
  1407. CLEAN_FILE += .twolame
  1408. CLEAN_PKG += twolame
  1409. DISTCLEAN_PKG += twolame-$(TWOLAME_VERSION).tar.gz
  1410. # ***************************************************************************
  1411. # libpng
  1412. # ***************************************************************************
  1413. libpng-$(PNG_VERSION).tar.bz2:
  1414. $(WGET) $(PNG_URL)
  1415. libpng: libpng-$(PNG_VERSION).tar.bz2
  1416. $(EXTRACT_BZ2)
  1417. ifdef HAVE_WIN32
  1418. (cd $@; cat ../Patches/libpng-win32.patch | sed s,??PREFIX??,$(PREFIX), | patch -p0)
  1419. else
  1420. (cat Patches/libpng-osx.patch | sed -e 's%??PREFIX??%$(PREFIX)%' -e 's%??EXTRA_CFLAGS??%$(EXTRA_CFLAGS)%' -e 's%??EXTRA_LDFLAGS??%$(EXTRA_LDFLAGS)%' | patch -p0)
  1421. endif
  1422. (patch -p0 < Patches/libpng-makefile.patch)
  1423. ifdef HAVE_DARWIN_OS_ON_INTEL
  1424. (patch -p0 < Patches/libpng-darwin-mactel.patch)
  1425. endif
  1426. .png: libpng .zlib
  1427. ifdef HAVE_DARWIN_OS
  1428. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
  1429. else
  1430. ifdef HAVE_WIN32
  1431. (cd $<; rm -f INSTALL; cp scripts/makefile.cygwin Makefile && make $(HOSTCC) && make install-static)
  1432. else
  1433. ifeq ($(PNG_VERSION),1.2.8)
  1434. (cd $<; PREFIX=$(PREFIX) DESTDIR=$(PREFIX) cp scripts/makefile.linux Makefile && make && make install)
  1435. else
  1436. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
  1437. endif
  1438. endif
  1439. endif
  1440. $(INSTALL_NAME)
  1441. touch $@
  1442. CLEAN_FILE += .png
  1443. CLEAN_PKG += libpng
  1444. DISTCLEAN_PKG += libpng-$(PNG_VERSION).tar.bz2
  1445. # ***************************************************************************
  1446. # libzvbi
  1447. # ***************************************************************************
  1448. zvbi-$(ZVBI_VERSION).tar.bz2:
  1449. $(WGET) $(ZVBI_URL)
  1450. zvbi: zvbi-$(ZVBI_VERSION).tar.bz2
  1451. $(EXTRACT_BZ2)
  1452. ifdef HAVE_WIN32
  1453. (cd $@; patch -p1 < ../Patches/zvbi-win32.patch; patch -p1 < ../Patches/zvbi-makefile.patch; autoreconf -ivf)
  1454. endif
  1455. ifdef HAVE_WIN32
  1456. .zvbi: zvbi .pthreads
  1457. else
  1458. .zvbi: zvbi
  1459. endif
  1460. ifdef HAVE_DARWIN_OS
  1461. (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -fnested-functions" && make && make install)
  1462. else
  1463. ifdef HAVE_WIN32
  1464. (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -DPTW32_STATIC_LIB --std=gnu99"  && make && make install)
  1465. else
  1466. (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make -C src && make -C src install)
  1467. endif
  1468. endif
  1469. $(INSTALL_NAME)
  1470. touch $@
  1471. CLEAN_FILE += .zvbi
  1472. CLEAN_PKG += zvbi
  1473. DISTCLEAN_PKG += zvbi-$(ZVBI_VERSION).tar.bz2
  1474. # ***************************************************************************
  1475. # libraw1394
  1476. # ***************************************************************************
  1477. libraw1394-$(LIBRAW1394_VERSION).tar.gz:
  1478. $(WGET) $(LIBRAW1394_URL)
  1479. libraw1394: libraw1394-$(LIBRAW1394_VERSION).tar.gz
  1480. $(EXTRACT_GZ)
  1481. .raw1394: libraw1394
  1482. (cd $<; ./configure --prefix=$(PREFIX) && make && make DESTDIR=$(PREFIX) install)
  1483. # sed 's/^typedef u_int8_t  byte_t;//* typedef u_int8_t  byte_t;*//'
  1484. touch $@
  1485. CLEAN_FILE += .raw1394
  1486. CLEAN_PKG += libraw1394
  1487. DISTCLEAN_PKG += libraw1394-$(LIBRAW1394_VERSION).tar.gz
  1488. # ***************************************************************************
  1489. # libdc1394
  1490. # ***************************************************************************
  1491. libdc1394-$(LIBDC1394_VERSION).tar.gz:
  1492. $(WGET) $(LIBDC1394_URL)
  1493. libdc1394: libdc1394-$(LIBDC1394_VERSION).tar.gz
  1494. $(EXTRACT_GZ)
  1495. .dc1394: libdc1394
  1496. (cd $<; ./configure --prefix=$(PREFIX) && 
  1497.  patch -p1 < ../Patches/libdc1394-noexamples.patch && 
  1498.  make && make DESTDIR=$(PREFIX) install)
  1499. touch $@
  1500. CLEAN_FILE += .dc1394
  1501. CLEAN_PKG += libdc1394
  1502. DISTCLEAN_PKG += libdc1394-$(LIBDC1394_VERSION).tar.gz
  1503. # ***************************************************************************
  1504. # gpg-error
  1505. # ***************************************************************************
  1506. libgpg-error-$(GPGERROR_VERSION).tar.bz2:
  1507. $(WGET) $(GPGERROR_URL)
  1508. libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.bz2
  1509. $(EXTRACT_BZ2)
  1510. .gpg-error: libgpg-error
  1511. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls --disable-shared --disable-languages && make && make install)
  1512. $(INSTALL_NAME)
  1513. touch $@
  1514. CLEAN_FILE += .gpg-error
  1515. CLEAN_PKG += libgpg-error
  1516. DISTCLEAN_PKG += libgpg-error-$(GPGERROR_VERSION).tar.bz2
  1517. # ***************************************************************************
  1518. # libgcrypt
  1519. # ***************************************************************************
  1520. libgcrypt-$(GCRYPT_VERSION).tar.bz2:
  1521. $(WGET) $(GCRYPT_URL)
  1522. libgcrypt: libgcrypt-$(GCRYPT_VERSION).tar.bz2
  1523. $(EXTRACT_BZ2)
  1524. patch -p0 < Patches/gcrypt.patch
  1525. CIPHDIG= --enable-ciphers=aes,des,rfc2268,arcfour --enable-digests=sha1,md5,rmd160 --enable-publickey-digests=dsa
  1526. .gcrypt: libgcrypt .gpg-error
  1527. ifdef HAVE_WIN32
  1528. (cd $<; ./autogen.sh && $(HOSTCC) ./configure $(HOSTCONF) --target=i586-mingw32msvc --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(CIPHDIG) --disable-shared --enable-static --disable-nls && make && make install)
  1529. else
  1530. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS) -lgpg-error" $(CIPHDIG) && make && make install)
  1531. endif
  1532. $(INSTALL_NAME)
  1533. touch $@
  1534. CLEAN_FILE += .gcrypt
  1535. CLEAN_PKG += libgcrypt
  1536. DISTCLEAN_PKG += libgcrypt-$(GCRYPT_VERSION).tar.bz2
  1537. # ***************************************************************************
  1538. # opencdk (requires by gnutls 2.x)
  1539. # ***************************************************************************
  1540. opencdk-$(OPENCDK_VERSION).tar.bz2:
  1541. $(WGET) $(OPENCDK_URL)
  1542. opencdk: opencdk-$(OPENCDK_VERSION).tar.bz2
  1543. $(EXTRACT_BZ2)
  1544. .opencdk: opencdk
  1545. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(HOSTCC) && make && make install)
  1546. touch $@
  1547. CLEAN_FILE += .opencdk
  1548. CLEAN_PKG += opencdk
  1549. DISTCLEAN_PKG += opencdk-$(OPENCDK_VERSION).tar.bz2
  1550. # ***************************************************************************
  1551. # gnutls
  1552. # ***************************************************************************
  1553. gnutls-$(GNUTLS_VERSION).tar.bz2:
  1554. $(WGET) $(GNUTLS_URL)
  1555. gnutls: gnutls-$(GNUTLS_VERSION).tar.bz2
  1556. $(EXTRACT_BZ2)
  1557. ifdef HAVE_WIN32
  1558. patch -p0 < Patches/gnutls-win32.patch
  1559. (cd $@; cd lgl; ln -sf alloca_.h alloca.h;)
  1560. (cd $@; autoconf)
  1561. endif
  1562. .gnutls: gnutls .gcrypt .gpg-error
  1563. ifdef HAVE_WIN32
  1564. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --target=i586-mingw32msvc --disable-cxx -disable-shared --enable-static --disable-nls   --with-included-opencdk --with-included-libtasn1 && cd lgl && make && cd ../gl && make &&  cd ../lib &&make && make install && cd ../includes && make install)
  1565. else
  1566. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --disable-cxx --with-included-opencdk --disable-guile && make && make install)
  1567. endif
  1568. $(INSTALL_NAME)
  1569. touch $@
  1570. CLEAN_FILE += .gnutls
  1571. CLEAN_PKG += gnutls
  1572. DISTCLEAN_PKG += gnutls-$(GNUTLS_VERSION).tar.bz2
  1573. # ***************************************************************************
  1574. # libopendaap
  1575. # ***************************************************************************
  1576. libopendaap-$(DAAP_VERSION).tar.bz2:
  1577. $(WGET) $(DAAP_URL)
  1578. libopendaap: libopendaap-$(DAAP_VERSION).tar.bz2
  1579. $(EXTRACT_BZ2)
  1580. patch -p0 < Patches/daap.patch
  1581. .opendaap: libopendaap
  1582. (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" && make install)
  1583. $(INSTALL_NAME)
  1584. touch $@
  1585. CLEAN_FILE += .opendaap
  1586. CLEAN_PKG += libopendaap
  1587. DISTCLEAN_PKG += libopendaap-$(DAAP_VERSION).tar.bz2
  1588. # ***************************************************************************
  1589. # glib
  1590. # ***************************************************************************
  1591. glib-$(GLIB_VERSION).tar.gz:
  1592. $(WGET) $(GLIB_URL)
  1593. glib: glib-$(GLIB_VERSION).tar.gz
  1594. $(EXTRACT_GZ)
  1595. patch -p0 < Patches/glib.patch
  1596. .glib: glib
  1597. (cd $<; ./configure --prefix=$(PREFIX) --host=powerpc-apple-macos && make && make install)
  1598. touch $@
  1599. CLEAN_FILE += .glibl
  1600. CLEAN_PKG += glib
  1601. DISTCLEAN_PKG += glib-$(GLIB_VERSION).tar.gz
  1602. # ***************************************************************************
  1603. # libIDL
  1604. # ***************************************************************************
  1605. libIDL-$(LIBIDL_VERSION).tar.gz:
  1606. $(WGET) $(LIBIDL_URL)
  1607. libIDL: libIDL-$(LIBIDL_VERSION).tar.gz
  1608. $(EXTRACT_GZ)
  1609. .IDL: libIDL
  1610. (cd $<; ./configure --prefix=$(PREFIX) --host=powerpc-apple-macos && make && make install )
  1611. touch $@
  1612. CLEAN_FILE += .IDL
  1613. CLEAN_PKG += libIDL
  1614. DISTCLEAN_PKG += libIDL-$(LIBIDL_VERSION).tar.gz
  1615. # ***************************************************************************
  1616. # Gecko SDK
  1617. # ***************************************************************************
  1618. gecko-sdk-ppc-macosx10.2-1.7.5.tar.gz:
  1619. $(WGET) $(GECKO_SDK_MAC_URL)
  1620. gecko-sdk: gecko-sdk-ppc-macosx10.2-1.7.5.tar.gz
  1621. $(EXTRACT_GZ)
  1622. .gecko: gecko-sdk
  1623. rm -rf ../gecko-sdk
  1624. mv gecko-sdk ..
  1625. mkdir gecko-sdk #creating an empty dir is faster than copying the whole dir
  1626. (cd $<)
  1627. touch $@
  1628. CLEAN_FILE += .gecko
  1629. CLEAN_PKG += gecko-sdk
  1630. DISTCLEAN_PKG += gecko-sdk-ppc-macosx10.2-1.7.5.tar.gz
  1631. # ***************************************************************************
  1632. # Gecko SDK win32
  1633. # ***************************************************************************
  1634. gecko-sdk-i586-pc-msvc-1.8b1.zip:
  1635. $(WGET) $(GECKO_SDK_WIN32_URL)
  1636. libIDL-0.6.3-win32-bin.zip:
  1637. $(WGET) $(LIBIDL_WIN32_BIN_URL)
  1638. glib-19990228.zip:
  1639. $(WGET) $(GLIB_WIN32_BIN_URL)
  1640. .gecko-win32: gecko-sdk-i586-pc-msvc-1.8b1.zip libIDL-0.6.3-win32-bin.zip glib-19990228.zip
  1641. unzip gecko-sdk-i586-pc-msvc-1.8b1.zip
  1642. rm -rf ../gecko-sdk
  1643. mv gecko-sdk ..
  1644. unzip -j libIDL-0.6.3-win32-bin.zip libIDL-0.6.3-win32-bin/libIDL-0.6.dll -d ../gecko-sdk/bin
  1645. unzip glib-19990228.zip glib-1.2.dll -d ../gecko-sdk/bin
  1646. chmod a+x ../gecko-sdk/bin/*
  1647. touch $@
  1648. CLEAN_FILE += .gecko-win32
  1649. CLEAN_PKG += gecko-sdk-win32
  1650. DISTCLEAN_PKG += gecko-sdk-i586-pc-msvc-1.8b1.zip libIDL-0.6.3-win32-bin.zip glib-19990228.zip
  1651. # ***************************************************************************
  1652. # mozilla-macosx
  1653. # ***************************************************************************
  1654. mozilla-source-$(MOZILLA_VERSION).tar.bz2:
  1655. $(WGET) $(MOZILLA_URL)
  1656. mozilla: mozilla-source-$(MOZILLA_VERSION).tar.bz2
  1657. $(EXTRACT_BZ2)
  1658. .mozilla-macosx: mozilla
  1659. (cd $<; ./configure --prefix=$(PREFIX) --enable-default-toolkit=mac --enable-standalone-modules=xpcom,plugin && make && make install)
  1660. touch $@
  1661. CLEAN_FILE += .mozilla-macosx
  1662. CLEAN_PKG += mozilla-macosx
  1663. DISTCLEAN_PKG += mozilla-source-$(MOZILLA_VERSION).tar.bz2
  1664. # ***************************************************************************
  1665. # libjpeg
  1666. # ***************************************************************************
  1667. jpegsrc.v$(JPEG_VERSION).tar.gz:
  1668. $(WGET) $(JPEG_URL)
  1669. jpeg-7: jpegsrc.v$(JPEG_VERSION).tar.gz
  1670. $(EXTRACT_GZ)
  1671. .jpeg: jpeg-7
  1672. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(HOSTCC) && make && make install)
  1673. $(RANLIB) $(PREFIX)/lib/libjpeg.a
  1674. touch $@
  1675. CLEAN_FILE += .jpeg
  1676. CLEAN_PKG += jpeg-7
  1677. DISTCLEAN_PKG += jpegsrc.v$(JPEG_VERSION).tar.gz
  1678. # ***************************************************************************
  1679. # tiff
  1680. # ***************************************************************************
  1681. tiff-$(TIFF_VERSION).tar.gz:
  1682. $(WGET) $(TIFF_URL)
  1683. tiff: tiff-$(TIFF_VERSION).tar.gz
  1684. $(EXTRACT_GZ)
  1685. .tiff: tiff
  1686. ifdef HAVE_WIN32
  1687. (cd $<; ./configure  --target=i586-mingw32msvc --with-CFLAGS="$(CFLAGS)" --with-JPEG=no --with-ZIP=no --prefix=$(PREFIX) --host=$(HOST) &&make -C port && make -C libtiff && make -C libtiff install)
  1688. else
  1689. (cd $<; ./configure --with-CFLAGS="$(CFLAGS)" --with-JPEG=no --with-ZIP=no --prefix=$(PREFIX) && make -C port &&make -C libtiff && make -C libtiff install)
  1690. endif
  1691. $(INSTALL_NAME)
  1692. touch $@
  1693. CLEAN_FILE += .tiff
  1694. CLEAN_PKG += tiff
  1695. DISTCLEAN_PKG += tiff-$(TIFF_VERSION).tar.gz
  1696. # ***************************************************************************
  1697. # LibSDL
  1698. # ***************************************************************************
  1699. ifndef HAVE_DARWIN_OS
  1700. SDL-$(SDL_VERSION).tar.gz:
  1701. $(WGET) $(SDL_URL)
  1702. SDL: SDL-$(SDL_VERSION).tar.gz
  1703. $(EXTRACT_GZ)
  1704. else
  1705. SDL:
  1706. $(SVN) co http://svn.libsdl.org/trunk/SDL -r 4444 SDL
  1707. (cd $@; sh autogen.sh)
  1708. endif
  1709. .SDL: SDL
  1710. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-audio --disable-video-x11 --disable-video-aalib --disable-video-dga --disable-video-fbcon --disable-video-directfb --disable-video-ggi --disable-video-svga --disable-directx --enable-joystick --disable-cdrom --disable-threads --disable-sdl-dlopen CFLAGS="$(CFLAGS)" && make && make install)
  1711. $(INSTALL_NAME)
  1712. touch $@
  1713. CLEAN_FILE += .SDL
  1714. CLEAN_PKG += SDL
  1715. DISTCLEAN_PKG += SDL-$(SDL_VERSION).tar.gz
  1716. # ***************************************************************************
  1717. # SDL_image
  1718. # ***************************************************************************
  1719. SDL_image-$(SDL_IMAGE_VERSION).tar.gz:
  1720. $(WGET) $(SDL_IMAGE_URL)
  1721. SDL_image: SDL_image-$(SDL_IMAGE_VERSION).tar.gz
  1722. $(EXTRACT_GZ)
  1723. patch -p0 < Patches/SDL_image.patch
  1724. .SDL_image: SDL_image .SDL .png .jpeg .tiff
  1725. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --enable-tif --disable-sdltest && make && make install)
  1726. $(INSTALL_NAME)
  1727. touch $@
  1728. CLEAN_FILE += .SDL_image
  1729. CLEAN_PKG += SDL_image
  1730. DISTCLEAN_PKG += SDL_image-$(SDL_IMAGE_VERSION).tar.gz
  1731. # ***************************************************************************
  1732. # Musepack decoder library (libmpcdec)
  1733. # ***************************************************************************
  1734. libmpcdec-$(MUSE_VERSION).tar.bz2:
  1735. $(WGET) $(MUSE_URL)
  1736. mpcdec: libmpcdec-$(MUSE_VERSION).tar.bz2
  1737. $(EXTRACT_BZ2)
  1738. patch -p0 < Patches/mpcdec.patch
  1739. (cd $@; autoreconf -ivf)
  1740. .mpcdec: mpcdec
  1741. ifdef HAVE_WIN32
  1742. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS=-D_PTRDIFF_T=mpc_int32_t && make && make install)
  1743. else
  1744. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
  1745. endif
  1746. ifdef HAVE_DARWIN_OS
  1747. $(INSTALL_NAME)
  1748. endif
  1749. touch $@
  1750. CLEAN_FILE += .mpcdec
  1751. CLEAN_PKG += mpcdec
  1752. DISTCLEAN_PKG += libmpcdec-$(MUSE_VERSION).tar.bz2
  1753. # ***************************************************************************
  1754. # Dirac
  1755. # ***************************************************************************
  1756. dirac-$(DIRAC_VERSION).tar.gz:
  1757. $(WGET) $(DIRAC_URL)
  1758. dirac: dirac-$(DIRAC_VERSION).tar.gz
  1759. $(EXTRACT_GZ)
  1760. ifdef HAVE_CYGWIN
  1761. # incorrect compile warning with cygwin compiler 3.4.4
  1762. patch -p0 <Patches/dirac-cygwin.patch
  1763. endif
  1764. ifndef HAVE_DARWIN_OS
  1765. (cd $@; aclocal -I m4 && autoconf && automake)
  1766. else
  1767. (cd $@; ./bootstrap)
  1768. endif
  1769. DIRAC_SUBDIRS = libdirac_byteio libdirac_common libdirac_motionest libdirac_encoder libdirac_decoder
  1770. ifdef HAVE_WIN32
  1771. DIRAC_SUBDIRS += win32
  1772. endif
  1773. .dirac: dirac
  1774. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX)  CFLAGS="$(CFLAGS)" && DOC_DIR="" make $(DIRAC_SUBDIRS) && DOC_DIR="" make install)
  1775. touch $@
  1776. # for MacOS X, dirac is split into two libraries, which needs be installed using two targets
  1777. .dirac_encoder: .dirac
  1778. $(INSTALL_NAME)
  1779. touch $@
  1780. .dirac_decoder: .dirac
  1781. $(INSTALL_NAME)
  1782. touch $@
  1783. CLEAN_FILE += .dirac
  1784. CLEAN_PKG += dirac
  1785. DISTCLEAN_PKG += dirac-$(DIRAC_VERSION).tar.gz
  1786. # *************************************************************************
  1787. # DirectX headers
  1788. # *************************************************************************
  1789. win32-dx7headers.tgz:
  1790. $(WGET) $(DX_HEADERS_URL)
  1791. .dx_headers: win32-dx7headers.tgz
  1792. (cd ../include ; tar xzf ../src/$<)
  1793. touch $@
  1794. CLEAN_FILE += .dx_headers
  1795. DISTCLEAN_PKG += win32-dx7headers.tgz
  1796. # *************************************************************************
  1797. # DirectShow headers
  1798. # *************************************************************************
  1799. dshow-headers.tgz:
  1800. $(WGET) $(DSHOW_HEADERS_URL)
  1801. .dshow_headers: dshow-headers.tgz
  1802. (cd ../include ; tar xzf ../src/$<)
  1803. touch $@
  1804. CLEAN_FILE += .dshow_headers
  1805. DISTCLEAN_PKG += dshow-headers.tgz
  1806. # ***************************************************************************
  1807. # libexpat
  1808. # ***************************************************************************
  1809. expat-$(EXPAT_VERSION).tar.gz:
  1810. $(WGET) $(EXPAT_URL)
  1811. expat: expat-$(EXPAT_VERSION).tar.gz
  1812. $(EXTRACT_GZ)
  1813. .expat: expat
  1814. ifdef HAVE_DARWIN_OS
  1815. (cd $< aclocal --force && libtoolize --force && autoconf --force && autoheader --force )
  1816. endif
  1817. (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
  1818. touch $@
  1819. CLEAN_FILE += .expat
  1820. CLEAN_PKG += expat
  1821. DISTCLEAN_PKG += expat-$(EXPAT_VERSION).tar.gz
  1822. # ***************************************************************************
  1823. # CyberLink C++ UPnP library
  1824. # ***************************************************************************
  1825. clinkcc$(CLINKCC_VERSION).tar.gz:
  1826. $(WGET) $(CLINKCC_URL)
  1827. clinkcc: clinkcc$(CLINKCC_VERSION).tar.gz
  1828. tar xzf $<
  1829. mv $(patsubst %.tar.gz,Cyberlink,$(patsubst %.tgz,Cyberlink,$(notdir $<))) $@ || true
  1830. touch $@
  1831. patch -p0 < Patches/clinkcc.patch
  1832. ifdef HAVE_DARWIN_OS
  1833. patch -p0 < Patches/clinkcc_osx.patch
  1834. endif
  1835. (cd $@; ./bootstrap)
  1836. .clinkcc: clinkcc
  1837. (cd $<;./configure --prefix=$(PREFIX) --enable-expat && make && chmod 755 config/install-sh && make install )
  1838. touch $@
  1839. CLEAN_FILE += .clinkcc
  1840. CLEAN_PKG += clinkcc
  1841. DISTCLEAN_PKG += clinkcc$(CLINKCC_VERSION).tar.gz
  1842. # ***************************************************************************
  1843. # YASM assembler
  1844. # ***************************************************************************
  1845. yasm-$(YASM_VERSION).tar.gz:
  1846. $(WGET) $(YASM_URL)
  1847. yasm: yasm-$(YASM_VERSION).tar.gz
  1848. $(EXTRACT_GZ)
  1849. .yasm: yasm
  1850. (cd $< && $(HOSTCC) ./configure --prefix=$(PREFIX) --host=$(HOST) && make && make install)
  1851. touch $@
  1852. CLEAN_FILE += .yasm
  1853. CLEAN_PKG += yasm
  1854. DISTCLEAN_PKG += yasm-$(YASM_VERSION).tar.bz2
  1855. # ***************************************************************************
  1856. # kate
  1857. # ***************************************************************************
  1858. libkate-$(KATE_VERSION).tar.gz:
  1859. $(WGET) $(KATE_URL)
  1860. libkate: libkate-$(KATE_VERSION).tar.gz
  1861. $(EXTRACT_GZ)
  1862. .kate: libkate .ogg
  1863. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-valgrind --disable-doc && make && make install)
  1864. $(INSTALL_NAME)
  1865. touch $@
  1866. CLEAN_FILE += .kate
  1867. CLEAN_PKG += libkate
  1868. DISTCLEAN_PKG += libkate-$(KATE_VERSION).tar.gz
  1869. # ***************************************************************************
  1870. # tiger
  1871. # ***************************************************************************
  1872. libtiger-$(TIGER_VERSION).tar.gz:
  1873. $(WGET) $(TIGER_URL)
  1874. libtiger: libtiger-$(TIGER_VERSION).tar.gz
  1875. $(EXTRACT_GZ)
  1876. .tiger: libtiger .kate
  1877. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
  1878. $(INSTALL_NAME)
  1879. touch $@
  1880. CLEAN_FILE += .tiger
  1881. CLEAN_PKG += libtiger
  1882. DISTCLEAN_PKG += libtiger-$(TIGER_VERSION).tar.gz
  1883. # ***************************************************************************
  1884. # Copy aclocal files
  1885. # This is necessary for --missing aclocal to succeed after a
  1886. # configure.ac/Makefile.am change in the vlc root dir
  1887. # **************************************************************************
  1888. .aclocal:
  1889. cp -R $(PREFIX)/share/aclocal/* $(PREFIX)/../../m4/
  1890. touch $@
  1891. CLEAN_FILE += .aclocal
  1892. # ***************************************************************************
  1893. # TagLib read and editing of tags of popular audio formats
  1894. # ***************************************************************************
  1895. taglib-$(TAGLIB_VERSION).tar.gz:
  1896. $(WGET) $(TAGLIB_URL)
  1897. taglib: taglib-$(TAGLIB_VERSION).tar.gz
  1898. $(EXTRACT_GZ)
  1899. ifdef HAVE_WIN32
  1900. patch -p0 < Patches/taglib-static.patch
  1901. endif
  1902. ifdef HAVE_CYGWIN
  1903. patch -p0 < Patches/taglib-cygwin.patch
  1904. endif
  1905. .tag: taglib
  1906. (cd $<; $(HOSTCC)  ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
  1907. $(INSTALL_NAME)
  1908. touch $@
  1909. CLEAN_FILE += .tag
  1910. CLEAN_PKG += taglib
  1911. DISTCLEAN_PKG += taglib-$(TAGLIB_VERSION).tar.gz
  1912. # ***************************************************************************
  1913. # pthreads for win32
  1914. # ***************************************************************************
  1915. pthreads-w32-$(PTHREADS_VERSION)-release.tar.gz:
  1916. $(WGET) $(PTHREADS_URL)
  1917. pthreads: pthreads-w32-$(PTHREADS_VERSION)-release.tar.gz
  1918. $(EXTRACT_GZ)
  1919. (cd $@; patch -p0 < ../Patches/pthreads-detach.patch)
  1920. .pthreads: pthreads
  1921. (cd $<; $(HOSTCC) make $(PTHREADSCONF) GC GC-static && mkdir -p $(PREFIX)/include && cp -v pthread.h sched.h semaphore.h $(PREFIX)/include/ && mkdir -p $(PREFIX)/lib && cp -v *.a *.dll $(PREFIX)/lib/)
  1922. $(INSTALL_NAME)
  1923. touch $@
  1924. CLEAN_FILE += .pthreads
  1925. CLEAN_PKG += pthreads
  1926. DISTCLEAN_PKG += pthreads-w32-$(PTHREADS_VERSION)-release.tar.gz
  1927. # ***************************************************************************
  1928. # ncurses library (with wide chars support)
  1929. # ***************************************************************************
  1930. ncurses-$(NCURSES_VERSION).tar.gz:
  1931. $(WGET) $(NCURSES_URL)
  1932. ncurses: ncurses-$(NCURSES_VERSION).tar.gz
  1933. $(EXTRACT_GZ)
  1934. .ncurses: ncurses
  1935. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=/usr --without-debug --enable-widec --without-develop --without-shared && make -C ncurses && make -C include && make -C ncurses DESTDIR=$(PREFIX) install && make -C include DESTDIR=$(PREFIX) install)
  1936. (cp -R $(PREFIX)/usr/* $(PREFIX) && rm -rf $(PREFIX)/usr)
  1937. touch $@
  1938. CLEAN_FILE += .ncurses
  1939. CLEAN_PKG += ncurses
  1940. DISTCLEAN_PKG += ncurses-$(NCURSES_VERSION).tar.gz
  1941. # ***************************************************************************
  1942. # asa library (ASS/SSA support)
  1943. # ***************************************************************************
  1944. asa.git.tar.gz:
  1945. $(WGET) $(ASA_URL)
  1946. asa: asa.git.tar.gz
  1947. $(EXTRACT_GZ)
  1948. patch -p0 < Patches/asa-git.diff
  1949. .asa: asa .fontconfig .pcre .iconv
  1950. (cd $<; ./bootstrap; $(HOSTCC) CFLAGS="$(CFLAGS) -DPCRE_STATIC" ./configure $(HOSTCONF) --prefix=$(PREFIX))
  1951. (cd $</lib/import; make || (echo "Please copy a ./preparse file you built for your host into asa/lib/import"; echo "When you are finished, press enter." ; echo "If you are building natively, press enter." ; read i ; make) )
  1952. (cd $<; make && make install)
  1953. $(INSTALL_NAME)
  1954. touch $@
  1955. CLEAN_FILE += .asa
  1956. CLEAN_PKG += asa
  1957. DISTCLEAN_PKG += asa.git.tar.gz
  1958. # ***************************************************************************
  1959. # FluidSynth library (Midi)
  1960. # ***************************************************************************
  1961. fluidsynth-$(FLUID_VERSION).tar.gz:
  1962. $(WGET) $(FLUID_URL)
  1963. fluidsynth: fluidsynth-$(FLUID_VERSION).tar.gz
  1964. $(EXTRACT_GZ)
  1965. .fluid: fluidsynth
  1966. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
  1967. touch $@
  1968. CLEAN_FILE += .fluid
  1969. CLEAN_PKG += fluidsynth
  1970. DISTCLEAN_PKG += fluidsynth-$(FLUID_VERSION).tar.gz
  1971. # ***************************************************************************
  1972. # liboil
  1973. # ***************************************************************************
  1974. liboil-$(OIL_VERSION).tar.gz:
  1975. $(WGET) $(OIL_URL)
  1976. liboil: liboil-$(OIL_VERSION).tar.gz
  1977. $(EXTRACT_GZ)
  1978. patch -d liboil -p1 < Patches/liboil-noshared.patch
  1979. .liboil: liboil
  1980. ifdef HAVE_DARWIN_OS
  1981. ifdef HAVE_DARWIN_OS_ON_INTEL
  1982. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)")
  1983. else
  1984. patch -p0 < Patches/liboil-ppc.patch
  1985. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -force_cpusubtype_ALL")
  1986. patch -p0 < Patches/liboil-ppc-hack.patch
  1987. endif
  1988. else
  1989. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -O2")
  1990. endif
  1991. (cd $<; make && make install)
  1992. touch $@
  1993. CLEAN_FILE += .liboil
  1994. CLEAN_PKG += liboil
  1995. DISTCLEAN_PKG += liboil-$(OIL_VERSION).tar.gz
  1996. # ***************************************************************************
  1997. # Schroedinger library
  1998. # ***************************************************************************
  1999. schroedinger-$(SCHROED_VERSION).tar.gz:
  2000. $(WGET) $(SCHROED_URL)
  2001. schroedinger: schroedinger-$(SCHROED_VERSION).tar.gz
  2002. $(EXTRACT_GZ)
  2003. .schroedinger: schroedinger .liboil
  2004. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --with-thread=none --disable-gstreamer --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -O3" && make -C schroedinger && make -C schroedinger install)
  2005. touch $@
  2006. CLEAN_FILE += .schroedinger
  2007. CLEAN_PKG += schroedinger
  2008. DISTCLEAN_PKG += schroedinger-$(SCHROED_VERSION).tar.gz
  2009. # ***************************************************************************
  2010. # ASS library
  2011. # ***************************************************************************
  2012. libass-$(ASS_VERSION).tar.bz2:
  2013. $(WGET) $(ASS_URL)
  2014. libass:
  2015. $(GIT) clone $(ASS_GIT)
  2016. (cd $@; autoreconf -ivf)
  2017. .libass: libass .freetype
  2018. (cd $<; $(HOSTCC) ./configure --disable-png $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -O3" && make && make install)
  2019. touch $@
  2020. CLEAN_FILE += .libass
  2021. CLEAN_PKG += libass
  2022. DISTCLEAN_PKG += libass-$(ASS_VERSION).tar.bz2
  2023. # ***************************************************************************
  2024. # UPNP library
  2025. # ***************************************************************************
  2026. libupnp-$(UPNP_VERSION).tar.bz2:
  2027. $(WGET) $(UPNP_URL)
  2028. libupnp: libupnp-$(UPNP_VERSION).tar.bz2
  2029. $(EXTRACT_BZ2)
  2030. .libupnp: libupnp
  2031. (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-samples --without-documentation --disable-webserver CFLAGS="$(CFLAGS) -O3" && make && make install)
  2032. touch $@
  2033. CLEAN_FILE += .libupnp
  2034. CLEAN_PKG += libupnp
  2035. DISTCLEAN_PKG += libupnp-$(UPNP_VERSION).tar.bz2
  2036. # *********
  2037. # GSM
  2038. # *********
  2039. gsm-$(GSM_VERSION).tar.gz:
  2040. $(WGET) $(GSM_URL)
  2041. gsm: gsm-$(GSM_VERSION).tar.gz
  2042. rm -rf $@ || true
  2043. gunzip -c $< | tar xf - --exclude='[*?:<>|]'
  2044. mv gsm-1.0-* gsm || true
  2045. ifneq ($(HOST),$(BUILD))
  2046. (patch -p0 < Patches/gsm-cross.patch)
  2047. endif
  2048. ifdef HAVE_DARWIN_OS
  2049. (cd $@; sed -e 's%-O2%-O2 $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)%' -e 's%# LDFLAGS  =%LDFLAGS  = $(EXTRA_LDFLAGS)%' -e 's%gcc%$(CC)%' -i.orig  Makefile)
  2050. endif
  2051. .gsm: gsm
  2052. (cd $<; $(HOSTCC) make && cp inc/gsm.h $(PREFIX)/include && cp lib/libgsm.a  $(PREFIX)/lib)
  2053. touch $@
  2054. CLEAN_FILE += .gsm
  2055. CLEAN_PKG += gsm
  2056. DISTCLEAN_PKG += gsm-$(GSM_VERSION).tar.gz
  2057. # ***************************************************************************
  2058. # Some cleaning
  2059. # ***************************************************************************
  2060. clean-dots: FORCE
  2061. rm -f $(CLEAN_FILE)
  2062. clean: clean-dots
  2063. rm -rf $(CLEAN_PKG)
  2064. clean-src: clean
  2065. rm -rf $(DISTCLEAN_PKG)
  2066. clean-svn:
  2067. rm -rf ffmpeg tremor x264 libdca pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz portaudio live555-$(LIVEDOTCOM_VERSION).tar.gz live
  2068. distclean: clean-src
  2069. # ***************************************************************************
  2070. # Download all the sources and package unversionned copies of subversion trees
  2071. # ***************************************************************************
  2072. source: $(SOURCE) $(DISTCLEAN_PKG)