]> git.sesse.net Git - vlc/blob - extras/contrib/src/Makefile
79d923ddbf3d0f6e5742033facea569916effe1d
[vlc] / extras / contrib / src / Makefile
1 # ***************************************************************************
2 # src/Makefile : Dearchive and compile all files necessary
3 # ***************************************************************************
4 # Copyright (C) 2003, 2004 VideoLAN
5 # $Id: Makefile,v 1.16 2004/02/22 15:41:27 massiot Exp $
6 #
7 # Authors: Christophe Massiot <massiot@via.ecp.fr>
8 #          Derk-Jan Hartman <hartman at videolan dot org>
9 #
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 2 of the License, or
13 # (at your option) any later version.
14 #
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
23 # ***************************************************************************
24
25 include ../config.mak
26 include ./packages.mak
27
28 # ***************************************************************************
29 # Set a clean environment
30 # ***************************************************************************
31
32 export PATH = $(PREFIX)/bin:/bin:/usr/bin
33 export DYLD_LIBRARY_PATH = $(PREFIX)/lib
34 export CPPFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
35 export CFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
36 export CXXFLAGS = -I$(PREFIX)/include $(EXTRA_CPPFLAGS)
37 export LDFLAGS = -L$(PREFIX)/lib
38
39 # ***************************************************************************
40 # Standard rules
41 # ***************************************************************************
42
43 all: .autoconf .libtool .automake .iconv .intl .freetype .fribidi \
44         .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
45         .FLAC .speex .faad .lame .ebml .matroska .ffmpeg .openslp \
46         .dvdcss .dvdread .dvdplay .dvdnav .dvbpsi .live .goom .caca .dts
47 FORCE:
48
49 # ***************************************************************************
50 # Useful macros
51 # ***************************************************************************
52
53 define EXTRACT_GZ
54         tar xzf $<
55         mv $(patsubst %.tar.gz,%,$(patsubst %.tgz,%,$(notdir $<))) $@ || true
56         touch $@
57 endef
58
59 define EXTRACT_BZ2
60         bunzip2 -c $< | tar xf -
61         mv $(patsubst %.tar.bz2,%,$(notdir $<)) $@ || true
62         touch $@
63 endef
64
65 ### Darwin-specific ###
66 # These macros prepare the dynamic libraries for inclusion in the Mac OS X
67 # bundle. For instance if you're building a library named libtoto.dylib,
68 # which depends on the contrib library libtata.dylib, you should have the
69 # following entry :
70 # .toto: toto_directory .tata
71 #       cd $< ; ./configure --prefix=$(PREFIX)
72 #       $(MAKE) -C $<
73 #       $(MAKE) -C $< install
74 #       $(INSTALL_NAME)
75 #       touch $@
76
77 define INSTALL_NAME_LIB
78         install_name_tool \
79                 -change $(PREFIX)/lib/$(shell cd $(PREFIX)/lib; ls | grep "lib$(INSTALL_LIB).[0-9]*.dylib") \
80                 @executable_path/lib/vlc_lib$(INSTALL_LIB).dylib \
81                 $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ;
82 endef
83
84 define INSTALL_NAME
85         if which install_name_tool >/dev/null; then \
86                 mkdir -p $(PREFIX)/vlc-lib ; \
87                 cp $(PREFIX)/lib/lib$(patsubst .%,%,$@).dylib \
88                         $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ; \
89                 install_name_tool \
90                         -id @executable_path/lib/vlc_lib$(patsubst .%,%,$@).dylib \
91                         $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ; \
92                 $(foreach INSTALL_LIB,$(patsubst .%,%,$(filter .%,$^)), \
93                         $(INSTALL_NAME_LIB)) \
94         fi
95 endef
96
97 # ***************************************************************************
98 # autoconf
99 # ***************************************************************************
100
101 autoconf-$(AUTOCONF_VERSION).tar.gz:
102         $(WGET) $(AUTOCONF_URL)
103
104 autoconf: autoconf-$(AUTOCONF_VERSION).tar.gz
105         $(EXTRACT_GZ)
106
107 .autoconf: autoconf
108         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
109         touch $@
110
111 CLEAN_FILE += .autoconf
112 CLEAN_PKG += autoconf
113 DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.gz
114
115 # ***************************************************************************
116 # libtool
117 # ***************************************************************************
118
119 # This breaks under Darwin
120 #libtool_$(LIBTOOL_VERSION).orig.tar.gz:
121 #       $(WGET) $(LIBTOOL_URL)
122
123 #libtool: libtool_$(LIBTOOL_VERSION).orig.tar.gz
124 #       $(EXTRACT_GZ)
125 #       rm $@
126 #       mv libtool-$(LIBTOOL_VERSION) $@
127
128 #.libtool: libtool
129 #       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
130 #       touch $@
131
132 # Darwin-specific
133 .libtool:
134         if test -x /usr/bin/glibtoolize; then \
135                 ln -sf /usr/bin/glibtoolize $(PREFIX)/bin/libtoolize ; \
136         fi
137         touch $@
138
139 CLEAN_FILE += .libtool
140
141 # ***************************************************************************
142 # automake
143 # ***************************************************************************
144
145 automake-$(AUTOMAKE_VERSION).tar.gz:
146         $(WGET) $(AUTOMAKE_URL)
147
148 automake: automake-$(AUTOMAKE_VERSION).tar.gz
149         $(EXTRACT_GZ)
150
151 .automake: automake
152         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
153         touch $@
154
155 CLEAN_FILE += .automake
156 CLEAN_PKG += automake
157 DISTCLEAN_PKG += automake-$(AUTOMAKE_VERSION).tar.gz
158
159 # ***************************************************************************
160 # libiconv
161 # ***************************************************************************
162
163 libiconv-$(LIBICONV_VERSION).tar.gz:
164         $(WGET) $(LIBICONV_URL)
165
166 libiconv: libiconv-$(LIBICONV_VERSION).tar.gz
167         $(EXTRACT_GZ)
168
169 .iconv: libiconv
170         (cd libiconv; ./configure --prefix=$(PREFIX) && make && make install)
171         $(INSTALL_NAME)
172         touch $@
173
174 CLEAN_FILE += .iconv
175 CLEAN_PKG += libiconv
176 DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz
177
178 # ***************************************************************************
179 # gettext
180 # ***************************************************************************
181
182 gettext-$(GETTEXT_VERSION).tar.gz:
183         $(WGET) $(GETTEXT_URL)
184
185 gettext: gettext-$(GETTEXT_VERSION).tar.gz
186         $(EXTRACT_GZ)
187
188 .intl: gettext .iconv
189         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
190         $(INSTALL_NAME)
191         touch $@
192
193 CLEAN_FILE += .intl
194 CLEAN_PKG += gettext
195 DISTCLEAN_PKG += gettext-$(GETTEXT_VERSION).tar.gz
196
197 # ***************************************************************************
198 # freetype2
199 # ***************************************************************************
200
201 freetype-$(FREETYPE2_VERSION).tar.gz:
202         $(WGET) $(FREETYPE2_URL)
203
204 freetype2: freetype-$(FREETYPE2_VERSION).tar.gz
205         $(EXTRACT_GZ)
206
207 .freetype: freetype2
208         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
209         $(INSTALL_NAME)
210         touch $@
211
212 CLEAN_FILE += .freetype
213 CLEAN_PKG += freetype2
214 DISTCLEAN_PKG += freetype-$(FREETYPE2_VERSION).tar.gz
215
216 # ***************************************************************************
217 # fribidi
218 # ***************************************************************************
219
220 fribidi-$(FRIBIDI_VERSION).tar.gz:
221         $(WGET) $(FRIBIDI_URL)
222
223 fribidi: fribidi-$(FRIBIDI_VERSION).tar.gz
224         $(EXTRACT_GZ)
225         patch -p 0 < Patches/fribidi.patch
226
227 .fribidi: fribidi
228         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
229         $(INSTALL_NAME)
230         touch $@
231
232 CLEAN_FILE += .fribidi
233 CLEAN_PKG += fribidi
234 DISTCLEAN_PKG += fribidi-$(FRIBIDI_VERSION).tar.gz
235
236 # ***************************************************************************
237 # liba52
238 # ***************************************************************************
239
240 a52dec-$(A52DEC_VERSION).tar.gz:
241         $(WGET) $(A52DEC_URL)
242
243 a52dec: a52dec-$(A52DEC_VERSION).tar.gz
244         $(EXTRACT_GZ)
245
246 .a52: a52dec
247         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
248         touch $@
249
250 CLEAN_FILE += .a52
251 CLEAN_PKG += a52dec
252 DISTCLEAN_PKG += a52dec-$(A52DEC_VERSION).tar.gz
253
254 # ***************************************************************************
255 # mpeg2dec
256 # ***************************************************************************
257
258 #mpeg2dec:
259 #       @echo "*** Please press return here : ***"
260 #       cvs -d $(MPEG2DEC_CVSROOT) login
261 #       cvs -d $(MPEG2DEC_CVSROOT) co mpeg2dec
262 #       (cd $@; ./bootstrap)
263
264 #mpeg2dec-$(MPEG2DEC_VERSION).tar.gz:
265 #       $(WGET) $(MPEG2DEC_URL)
266
267 # It is easier to use bootstrapped versions...
268 mpeg2dec-$(MPEG2DEC_VERSION).tar.gz:
269         $(WGET) $(MPEG2DEC_SNAPSHOT)
270         mv mpeg2dec-snapshot.tar.gz $@
271
272 mpeg2dec: mpeg2dec-$(MPEG2DEC_VERSION).tar.gz
273         $(EXTRACT_GZ)
274
275 .mpeg2: mpeg2dec
276         (cd $<; ./configure --prefix=$(PREFIX) --without-x --disable-dsl && make && make install)
277         touch $@
278
279 CLEAN_FILE += .mpeg2
280 CLEAN_PKG += mpeg2dec
281 #DISTCLEAN_PKG += mpeg2dec-$(MPEG2DEC_VERSION)-cvs.tar.gz
282 DISTCLEAN_PKG += mpeg2dec-$(MPEG2_DEC_VERSION).tar.gz
283
284 # ***************************************************************************
285 # libid3tag
286 # ***************************************************************************
287
288 libid3tag-$(LIBID3TAG_VERSION).tar.gz:
289         $(WGET) $(LIBID3TAG_URL)
290
291 libid3tag: libid3tag-$(LIBID3TAG_VERSION).tar.gz
292         $(EXTRACT_GZ)
293
294 .id3tag: libid3tag
295         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
296         $(INSTALL_NAME)
297         touch $@
298
299 CLEAN_FILE += .id3tag
300 CLEAN_PKG += libid3tag
301 DISTCLEAN_PKG += libid3tag-$(LIBID3TAG_VERSION).tar.gz
302
303 # ***************************************************************************
304 # libmad
305 # ***************************************************************************
306
307 libmad-$(LIBMAD_VERSION).tar.gz:
308         $(WGET) $(LIBMAD_URL)
309
310 libmad: libmad-$(LIBMAD_VERSION).tar.gz
311         $(EXTRACT_GZ)
312
313 .mad: libmad
314         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
315         touch $@
316
317 CLEAN_FILE += .mad
318 CLEAN_PKG += libmad
319 DISTCLEAN_PKG += libmad-$(LIBMAD_VERSION).tar.gz
320
321 # ***************************************************************************
322 # ogg
323 # ***************************************************************************
324
325 #ogg:
326 #       @echo "*** Please type \"anoncvs\" here : ***"
327 #       cvs -d $(OGG_CVSROOT) login
328 #       cvs -d $(OGG_CVSROOT) co ogg
329 #       (cd $@; ./autogen.sh)
330
331 libogg-$(OGG_VERSION).tar.gz:
332         $(WGET) $(OGG_URL)
333
334 libogg: libogg-$(OGG_VERSION).tar.gz
335         $(EXTRACT_GZ)
336
337 .ogg: libogg
338         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
339         $(INSTALL_NAME)
340         touch $@
341
342 CLEAN_FILE += .ogg
343 CLEAN_PKG += libogg
344 DISTCLEAN_PKG += libogg-$(OGG_VERSION).tar.gz
345
346 # ***************************************************************************
347 # vorbis
348 # ***************************************************************************
349
350 #vorbis:
351 #       @echo "*** Please type \"anoncvs\" here : ***"
352 #       cvs -d $(OGG_CVSROOT) login
353 #       cvs -d $(OGG_CVSROOT) co vorbis
354 #       (cd $@; ./autogen.sh)
355 #       patch -p 0 < Patches/vorbis.patch
356
357 libvorbis-$(VORBIS_VERSION).tar.gz:
358         $(WGET) $(VORBIS_URL)
359
360 libvorbis: libvorbis-$(VORBIS_VERSION).tar.gz
361         $(EXTRACT_GZ)
362
363 .vorbis: libvorbis .ogg
364         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
365         $(INSTALL_NAME)
366         touch $@
367
368 .vorbisenc: .vorbis .ogg
369         $(INSTALL_NAME)
370         touch $@
371
372 CLEAN_FILE += .vorbis .vorbisenc
373 CLEAN_PKG += libvorbis
374 DISTCLEAN_PKG += libvorbis-$(VORBIS_VERSION).tar.gz
375
376 # ***************************************************************************
377 # theora
378 # ***************************************************************************
379
380 libtheora-$(THEORA_VERSION).tar.gz:
381         $(WGET) $(THEORA_URL)
382
383 libtheora: libtheora-$(THEORA_VERSION).tar.gz
384         $(EXTRACT_GZ)
385         patch -p 0 < Patches/theora.patch
386
387 .theora: libtheora
388         (cd $<; CC="gcc $(CFLAGS)" ./configure --prefix=$(PREFIX) && make && make install)
389         touch $@
390
391 CLEAN_FILE += .theora
392 CLEAN_PKG += libtheora
393 DISTCLEAN_PKG += libtheora-$(THEORA_VERSION).tar.gz
394
395 # ***************************************************************************
396 # flac
397 # ***************************************************************************
398
399 flac-$(FLAC_VERSION).tar.gz:
400         $(WGET) $(FLAC_URL)
401
402 flac: flac-$(FLAC_VERSION).tar.gz
403         $(EXTRACT_GZ)
404
405 .FLAC: flac
406         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
407         $(INSTALL_NAME)
408         touch $@
409
410 CLEAN_FILE += .flac
411 CLEAN_PKG += flac
412 DISTCLEAN_PKG += flac-$(FLAC_VERSION).tar.gz
413
414 # ***************************************************************************
415 # speex
416 # ***************************************************************************
417
418 speex-$(SPEEX_VERSION).tar.gz:
419         $(WGET) $(SPEEX_URL)
420
421 speex: speex-$(SPEEX_VERSION).tar.gz
422         $(EXTRACT_GZ)
423
424 .speex: speex
425         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
426         $(INSTALL_NAME)
427         touch $@
428
429 CLEAN_FILE += .speex
430 CLEAN_PKG += speex
431 DISTCLEAN_PKG += speex-$(SPEEX_VERSION).tar.gz
432
433 # ***************************************************************************
434 # faad2
435 # ***************************************************************************
436
437 #faad2:
438 #       @echo "*** Please type return here : ***"
439 #       cvs -d $(FAAD2_CVSROOT) login
440 #       cvs -d $(FAAD2_CVSROOT) co faad2
441 #       (cd $@; patch -p 0 < ../Patches/faad2.patch)
442 #       (cd $@; sh ./bootstrap)
443
444 faad2-$(FAAD2_VERSION).tar.bz2:
445         $(WGET) $(FAAD2_URL)
446
447 faad2: faad2-$(FAAD2_VERSION).tar.bz2
448         $(EXTRACT_BZ2)
449         patch -p 0 < Patches/faad2.patch
450
451 .faad: faad2
452         (cd $<; ./configure --prefix=$(PREFIX) && make -C libfaad && make -C libfaad install)
453         $(INSTALL_NAME)
454         touch $@
455
456 CLEAN_FILE += .faad
457 CLEAN_PKG += faad2
458 DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz
459
460 # ***************************************************************************
461 # lame
462 # ***************************************************************************
463
464 lame-$(LAME_VERSION).tar.gz:
465         $(WGET) $(LAME_URL)
466
467 lame: lame-$(LAME_VERSION).tar.gz
468         $(EXTRACT_GZ)
469
470 .lame: lame
471         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
472         touch $@
473
474 CLEAN_FILE += .lame
475 CLEAN_PKG += lame
476 DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz
477
478 # ***************************************************************************
479 # libebml
480 # ***************************************************************************
481
482 libebml-$(LIBEBML_VERSION).tar.gz:
483         $(WGET) $(LIBEBML_URL)
484
485 libebml: libebml-$(LIBEBML_VERSION).tar.gz
486         $(EXTRACT_GZ)
487         -rm -rf $@/CVS
488
489 .ebml: libebml
490         (cd $<; make -C make/linux prefix=$(PREFIX) && make -C make/linux install prefix=$(PREFIX))
491         ranlib $(PREFIX)/lib/libebml.a
492         touch $@
493
494 CLEAN_FILE += .ebml
495 CLEAN_PKG += libebml
496 DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.gz
497
498 # ***************************************************************************
499 # libmatroska
500 # ***************************************************************************
501
502 libmatroska-$(LIBMATROSKA_VERSION).tar.gz:
503         $(WGET) $(LIBMATROSKA_URL)
504
505 libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.gz
506         $(EXTRACT_GZ)
507         -rm -rf $@/CVS
508
509 .matroska: libmatroska
510         (cd $<; make -C make/linux prefix=$(PREFIX) && make -C make/linux install prefix=$(PREFIX))
511         ranlib $(PREFIX)/lib/libmatroska.a
512         touch $@
513
514 CLEAN_FILE += .matroska
515 CLEAN_PKG += libmatroska
516 DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.gz
517
518 # ***************************************************************************
519 # ffmpeg
520 # ***************************************************************************
521
522 ffmpeg:
523         cvs -d $(FFMPEG_CVSROOT) login
524         cvs -d $(FFMPEG_CVSROOT) co ffmpeg
525         patch -p 0 < Patches/ffmpeg.patch.cvs
526 #       (cd $@; ./bootstrap)
527
528 ffmpeg-$(FFMPEG_VERSION).tar.gz:
529         $(WGET) $(FFMPEG_URL)
530
531 #ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
532 #       $(EXTRACT_GZ)
533 #       patch -p 0 < Patches/ffmpeg.patch
534
535 .ffmpeg: ffmpeg
536         (cd $<; ./configure --prefix=$(PREFIX) --extra-cflags="$(CFLAGS)" --extra-ldflags="$(LDFLAGS)" --enable-mp3lame --enable-pp --disable-vhook --disable-vorbis --disable-faad --disable-a52 --enable-mp3lame --disable-zlib && make && make -C libavcodec/libpostproc install && make -C libavcodec installlib && make -C libavformat installlib)
537         touch $@
538
539 CLEAN_FILE += .ffmpeg
540 CLEAN_PKG += ffmpeg
541 DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz
542
543 # ***************************************************************************
544 # openslp
545 # ***************************************************************************
546
547 openslp-$(OPENSLP_VERSION).tar.gz:
548         $(WGET) $(OPENSLP_URL)
549
550 openslp: openslp-$(OPENSLP_VERSION).tar.gz
551         $(EXTRACT_GZ)
552         patch -p 0 < Patches/openslp.patch
553
554 .openslp: openslp
555         (cd $<; ./configure --prefix=$(PREFIX) && make SUBDIRS="common libslpattr slpd libslp slptool" && make install SUBDIRS="common libslpattr slpd libslp slptool")
556         touch $@
557
558 CLEAN_FILE += .openslp
559 CLEAN_PKG += openslp
560 DISTCLEAN_PKG += openslp-$(OPENSLP_VERSION).tar.gz
561
562 # ***************************************************************************
563 # libdvdcss
564 # ***************************************************************************
565
566 libdvdcss-$(LIBDVDCSS_VERSION).tar.gz:
567         $(WGET) $(LIBDVDCSS_URL)
568
569 libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
570         $(EXTRACT_GZ)
571
572 .dvdcss: libdvdcss
573         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
574         $(INSTALL_NAME)
575         touch $@
576
577 CLEAN_FILE += .dvdcss
578 CLEAN_PKG += libdvdcss
579 DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
580
581 # ***************************************************************************
582 # libdvdread
583 # ***************************************************************************
584
585 libdvdread-$(LIBDVDREAD_VERSION).tar.gz:
586         $(WGET) $(LIBDVDREAD_URL)
587
588 libdvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.gz
589         $(EXTRACT_GZ)
590
591 .dvdread: libdvdread .dvdcss
592         (cd $<; ./configure --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
593         $(INSTALL_NAME)
594         touch $@
595
596 CLEAN_FILE += .dvdread
597 CLEAN_PKG += libdvdread
598 DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.gz
599
600 # ***************************************************************************
601 # libdvdplay
602 # ***************************************************************************
603
604 libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz:
605         $(WGET) $(LIBDVDPLAY_URL)
606
607 libdvdplay: libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz
608         $(EXTRACT_GZ)
609
610 .dvdplay: libdvdplay .dvdread
611         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
612         $(INSTALL_NAME)
613         touch $@
614
615 CLEAN_FILE += .dvdplay
616 CLEAN_PKG += libdvdplay
617 DISTCLEAN_PKG += libdvdplay-$(LIBDVDPLAY_VERSION).tar.gz
618
619 # ***************************************************************************
620 # libdvdnav
621 # ***************************************************************************
622
623 libdvdnav-$(LIBDVDNAV_VERSION).tar.gz:
624         $(WGET) $(LIBDVDNAV_URL)
625
626 libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
627         $(EXTRACT_GZ)
628
629 .dvdnav: libdvdnav .dvdread
630         (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
631         $(INSTALL_NAME)
632         touch $@
633
634 CLEAN_FILE += .dvdnav
635 CLEAN_PKG += libdvdnav
636 DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
637
638 # ***************************************************************************
639 # libdvbpsi
640 # ***************************************************************************
641
642 libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz:
643         $(WGET) $(LIBDVBPSI_URL)
644
645 libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz
646         $(EXTRACT_GZ)
647
648 .dvbpsi: libdvbpsi
649         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
650         $(INSTALL_NAME)
651         touch $@
652
653 CLEAN_FILE += .dvbpsi
654 CLEAN_PKG += libdvbpsi
655 DISTCLEAN_PKG += libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz
656
657 # ***************************************************************************
658 # live
659 # ***************************************************************************
660
661 live.$(LIVEDOTCOM_VERSION).tar.gz:
662         $(WGET) $(LIVEDOTCOM_URL)
663
664 live: live.$(LIVEDOTCOM_VERSION).tar.gz
665         $(EXTRACT_GZ)
666         patch -p 0 < Patches/live.patch
667
668 .live: live
669         (cd $<; ./genmakefiles macosx && make )
670         touch $@
671
672 CLEAN_FILE += .live
673 CLEAN_PKG += live
674 DISTCLEAN_PKG += live.$(LIVEDOTCOM_VERSION).tar.gz
675
676 # ***************************************************************************
677 # goom
678 # ***************************************************************************
679
680 goom-dj.tar.gz:
681         $(WGET) $(GOOMDJ_URL)
682
683 goom: goom-dj.tar.gz
684         $(EXTRACT_GZ)
685
686 .goom: goom
687         (cd $<;)
688         touch $@
689
690 CLEAN_FILE += .goom
691 CLEAN_PKG += goom
692 DISTCLEAN_PKG += goom-dj.tar.gz
693
694 # ***************************************************************************
695 # libcaca
696 # ***************************************************************************
697
698 libcaca-$(LIBCACA_VERSION).tar.gz:
699         $(WGET) $(LIBCACA_URL)
700
701 libcaca: libcaca-$(LIBCACA_VERSION).tar.gz
702         $(EXTRACT_GZ)
703
704 .caca: libcaca
705         (cd $<; ./configure --prefix=$(PREFIX) --disable-imlib2 --disable-doc && make && make install)
706         touch $@
707
708 CLEAN_FILE += .caca
709 CLEAN_PKG += libcaca
710 DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz
711
712 # ***************************************************************************
713 # libdts
714 # ***************************************************************************
715
716 dtsdec-$(DTSDEC_VERSION).tar.gz:
717         $(WGET) $(DTSDEC_URL)
718
719 dtsdec: dtsdec-$(DTSDEC_VERSION).tar.gz
720         $(EXTRACT_GZ)
721
722 .dts: dtsdec
723         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
724         touch $@
725
726 CLEAN_FILE += .dts
727 CLEAN_PKG += dtsdec
728 DISTCLEAN_PKG += dtsdec-$(DTSDEC_VERSION).tar.gz
729
730 # ***************************************************************************
731 # Some cleansing
732 # ***************************************************************************
733
734 clean-dots: FORCE
735         rm -f $(CLEAN_FILE)
736
737 clean: clean-dots
738         rm -rf $(CLEAN_PKG)
739
740 clean-src: clean
741         rm -rf $(DISTCLEAN_PKG)
742
743 distclean: clean-src