]> git.sesse.net Git - vlc/blob - extras/contrib/src/Makefile
* Add pkgcfg, libcddb, vcdimager and libcdio to OSX contrib system
[vlc] / extras / contrib / src / Makefile
1 # ***************************************************************************
2 # src/Makefile : Dearchive and compile all files necessary
3 # ***************************************************************************
4 # Copyright (C) 2003, 2004 VideoLAN
5 # $Id$
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 .pkgcfg .freetype .fribidi \
44         .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
45         .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .openslp \
46         .dvdcss .dvdread .dvdnav .dvbpsi .live .goom .caca .dts .mod \
47         .cddb .cdio .vcdimager
48 FORCE:
49
50 # ***************************************************************************
51 # Useful macros
52 # ***************************************************************************
53
54 define EXTRACT_GZ
55         tar xzf $<
56         mv $(patsubst %.tar.gz,%,$(patsubst %.tgz,%,$(notdir $<))) $@ || true
57         touch $@
58 endef
59
60 define EXTRACT_BZ2
61         bunzip2 -c $< | tar xf -
62         mv $(patsubst %.tar.bz2,%,$(notdir $<)) $@ || true
63         touch $@
64 endef
65
66 ### Darwin-specific ###
67 # These macros prepare the dynamic libraries for inclusion in the Mac OS X
68 # bundle. For instance if you're building a library named libtoto.dylib,
69 # which depends on the contrib library libtata.dylib, you should have the
70 # following entry :
71 # .toto: toto_directory .tata
72 #       cd $< ; ./configure --prefix=$(PREFIX)
73 #       $(MAKE) -C $<
74 #       $(MAKE) -C $< install
75 #       $(INSTALL_NAME)
76 #       touch $@
77
78 define INSTALL_NAME_LIB
79         install_name_tool \
80                 -change $(PREFIX)/lib/$(shell cd $(PREFIX)/lib; ls | grep "lib$(INSTALL_LIB).[0-9]*.dylib") \
81                 @executable_path/lib/vlc_lib$(INSTALL_LIB).dylib \
82                 $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ;
83 endef
84
85 define INSTALL_NAME
86         if which install_name_tool >/dev/null; then \
87                 mkdir -p $(PREFIX)/vlc-lib ; \
88                 cp $(PREFIX)/lib/lib$(patsubst .%,%,$@).dylib \
89                         $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ; \
90                 install_name_tool \
91                         -id @executable_path/lib/vlc_lib$(patsubst .%,%,$@).dylib \
92                         $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ; \
93                 $(foreach INSTALL_LIB,$(patsubst .%,%,$(filter .%,$^)), \
94                         $(INSTALL_NAME_LIB)) \
95         fi
96 endef
97
98 # ***************************************************************************
99 # autoconf
100 # ***************************************************************************
101
102 autoconf-$(AUTOCONF_VERSION).tar.gz:
103         $(WGET) $(AUTOCONF_URL)
104
105 autoconf: autoconf-$(AUTOCONF_VERSION).tar.gz
106         $(EXTRACT_GZ)
107
108 .autoconf: autoconf
109         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
110         touch $@
111
112 CLEAN_FILE += .autoconf
113 CLEAN_PKG += autoconf
114 DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.gz
115
116 # ***************************************************************************
117 # libtool
118 # ***************************************************************************
119
120 # This breaks under Darwin
121 #libtool_$(LIBTOOL_VERSION).orig.tar.gz:
122 #       $(WGET) $(LIBTOOL_URL)
123
124 #libtool: libtool_$(LIBTOOL_VERSION).orig.tar.gz
125 #       $(EXTRACT_GZ)
126 #       rm $@
127 #       mv libtool-$(LIBTOOL_VERSION) $@
128
129 #.libtool: libtool
130 #       (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
131 #       touch $@
132
133 # Darwin-specific
134 .libtool:
135         if test -x /usr/bin/glibtoolize; then \
136                 ln -sf /usr/bin/glibtoolize $(PREFIX)/bin/libtoolize ; \
137         fi
138         touch $@
139
140 CLEAN_FILE += .libtool
141
142 # ***************************************************************************
143 # automake
144 # ***************************************************************************
145
146 automake-$(AUTOMAKE_VERSION).tar.gz:
147         $(WGET) $(AUTOMAKE_URL)
148
149 automake: automake-$(AUTOMAKE_VERSION).tar.gz
150         $(EXTRACT_GZ)
151
152 .automake: automake
153         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
154         touch $@
155
156 CLEAN_FILE += .automake
157 CLEAN_PKG += automake
158 DISTCLEAN_PKG += automake-$(AUTOMAKE_VERSION).tar.gz
159
160 # ***************************************************************************
161 # libiconv
162 # ***************************************************************************
163
164 libiconv-$(LIBICONV_VERSION).tar.gz:
165         $(WGET) $(LIBICONV_URL)
166
167 libiconv: libiconv-$(LIBICONV_VERSION).tar.gz
168         $(EXTRACT_GZ)
169
170 .iconv: libiconv
171         (cd libiconv; ./configure --prefix=$(PREFIX) && make && make install)
172         $(INSTALL_NAME)
173         touch $@
174
175 CLEAN_FILE += .iconv
176 CLEAN_PKG += libiconv
177 DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz
178
179 # ***************************************************************************
180 # pkgconfig
181 # ***************************************************************************
182
183 pkgconfig-$(PKGCFG_VERSION).tar.gz:
184         $(WGET) $(PKGCFG_URL)
185
186 pkgconfig: pkgconfig-$(PKGCFG_VERSION).tar.gz
187         $(EXTRACT_GZ)
188
189 .pkgcfg: pkgconfig
190         (cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
191         touch $@
192
193 CLEAN_FILE += .pkgcfg
194 CLEAN_PKG += pkgconfig
195 DISTCLEAN_PKG += pkgconfig-$(PKGCFG_VERSION).tar.gz
196 # ***************************************************************************
197 # gettext
198 # ***************************************************************************
199
200 gettext-$(GETTEXT_VERSION).tar.gz:
201         $(WGET) $(GETTEXT_URL)
202
203 gettext: gettext-$(GETTEXT_VERSION).tar.gz
204         $(EXTRACT_GZ)
205
206 .intl: gettext .iconv
207         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
208         $(INSTALL_NAME)
209         touch $@
210
211 CLEAN_FILE += .intl
212 CLEAN_PKG += gettext
213 DISTCLEAN_PKG += gettext-$(GETTEXT_VERSION).tar.gz
214
215 # ***************************************************************************
216 # freetype2
217 # ***************************************************************************
218
219 freetype-$(FREETYPE2_VERSION).tar.gz:
220         $(WGET) $(FREETYPE2_URL)
221
222 freetype2: freetype-$(FREETYPE2_VERSION).tar.gz
223         $(EXTRACT_GZ)
224
225 .freetype: freetype2
226         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
227         $(INSTALL_NAME)
228         touch $@
229
230 CLEAN_FILE += .freetype
231 CLEAN_PKG += freetype2
232 DISTCLEAN_PKG += freetype-$(FREETYPE2_VERSION).tar.gz
233
234 # ***************************************************************************
235 # fribidi
236 # ***************************************************************************
237
238 fribidi-$(FRIBIDI_VERSION).tar.gz:
239         $(WGET) $(FRIBIDI_URL)
240
241 fribidi: fribidi-$(FRIBIDI_VERSION).tar.gz
242         $(EXTRACT_GZ)
243         patch -p 0 < Patches/fribidi.patch
244
245 .fribidi: fribidi
246         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
247         $(INSTALL_NAME)
248         touch $@
249
250 CLEAN_FILE += .fribidi
251 CLEAN_PKG += fribidi
252 DISTCLEAN_PKG += fribidi-$(FRIBIDI_VERSION).tar.gz
253
254 # ***************************************************************************
255 # liba52
256 # ***************************************************************************
257
258 a52dec-$(A52DEC_VERSION).tar.gz:
259         $(WGET) $(A52DEC_URL)
260
261 a52dec: a52dec-$(A52DEC_VERSION).tar.gz
262         $(EXTRACT_GZ)
263
264 .a52: a52dec
265         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
266         touch $@
267
268 CLEAN_FILE += .a52
269 CLEAN_PKG += a52dec
270 DISTCLEAN_PKG += a52dec-$(A52DEC_VERSION).tar.gz
271
272 # ***************************************************************************
273 # mpeg2dec
274 # ***************************************************************************
275
276 #mpeg2dec:
277 #       @echo "*** Please press return here : ***"
278 #       cvs -d $(MPEG2DEC_CVSROOT) login
279 #       cvs -d $(MPEG2DEC_CVSROOT) co mpeg2dec
280 #       (cd $@; ./bootstrap)
281
282 #mpeg2dec-$(MPEG2DEC_VERSION).tar.gz:
283 #       $(WGET) $(MPEG2DEC_URL)
284
285 # It is easier to use bootstrapped versions...
286 mpeg2dec-$(MPEG2DEC_VERSION).tar.gz:
287         $(WGET) $(MPEG2DEC_SNAPSHOT)
288         mv mpeg2dec-snapshot.tar.gz $@
289
290 mpeg2dec: mpeg2dec-$(MPEG2DEC_VERSION).tar.gz
291         $(EXTRACT_GZ)
292
293 .mpeg2: mpeg2dec
294         (cd $<; ./configure --prefix=$(PREFIX) --without-x --disable-dsl && make && make install)
295         touch $@
296
297 CLEAN_FILE += .mpeg2
298 CLEAN_PKG += mpeg2dec
299 #DISTCLEAN_PKG += mpeg2dec-$(MPEG2DEC_VERSION)-cvs.tar.gz
300 DISTCLEAN_PKG += mpeg2dec-$(MPEG2_DEC_VERSION).tar.gz
301
302 # ***************************************************************************
303 # libid3tag
304 # ***************************************************************************
305
306 libid3tag-$(LIBID3TAG_VERSION).tar.gz:
307         $(WGET) $(LIBID3TAG_URL)
308
309 libid3tag: libid3tag-$(LIBID3TAG_VERSION).tar.gz
310         $(EXTRACT_GZ)
311
312 .id3tag: libid3tag
313         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
314         $(INSTALL_NAME)
315         touch $@
316
317 CLEAN_FILE += .id3tag
318 CLEAN_PKG += libid3tag
319 DISTCLEAN_PKG += libid3tag-$(LIBID3TAG_VERSION).tar.gz
320
321 # ***************************************************************************
322 # libmad
323 # ***************************************************************************
324
325 libmad-$(LIBMAD_VERSION).tar.gz:
326         $(WGET) $(LIBMAD_URL)
327
328 libmad: libmad-$(LIBMAD_VERSION).tar.gz
329         $(EXTRACT_GZ)
330
331 .mad: libmad
332         (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="-O3" && make && make install)
333         $(INSTALL_NAME)
334         touch $@
335
336 CLEAN_FILE += .mad
337 CLEAN_PKG += libmad
338 DISTCLEAN_PKG += libmad-$(LIBMAD_VERSION).tar.gz
339
340 # ***************************************************************************
341 # ogg
342 # ***************************************************************************
343
344 #ogg:
345 #       @echo "*** Please type \"anoncvs\" here : ***"
346 #       cvs -d $(OGG_CVSROOT) login
347 #       cvs -d $(OGG_CVSROOT) co ogg
348 #       (cd $@; ./autogen.sh)
349
350 libogg-$(OGG_VERSION).tar.gz:
351         $(WGET) $(OGG_URL)
352
353 libogg: libogg-$(OGG_VERSION).tar.gz
354         $(EXTRACT_GZ)
355
356 .ogg: libogg
357         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
358         $(INSTALL_NAME)
359         touch $@
360
361 CLEAN_FILE += .ogg
362 CLEAN_PKG += libogg
363 DISTCLEAN_PKG += libogg-$(OGG_VERSION).tar.gz
364
365 # ***************************************************************************
366 # vorbis
367 # ***************************************************************************
368
369 #vorbis:
370 #       @echo "*** Please type \"anoncvs\" here : ***"
371 #       cvs -d $(OGG_CVSROOT) login
372 #       cvs -d $(OGG_CVSROOT) co vorbis
373 #       (cd $@; ./autogen.sh)
374 #       patch -p 0 < Patches/vorbis.patch
375
376 libvorbis-$(VORBIS_VERSION).tar.gz:
377         $(WGET) $(VORBIS_URL)
378
379 libvorbis: libvorbis-$(VORBIS_VERSION).tar.gz
380         $(EXTRACT_GZ)
381
382 .vorbis: libvorbis .ogg
383         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
384         $(INSTALL_NAME)
385         touch $@
386
387 .vorbisenc: .vorbis .ogg
388         $(INSTALL_NAME)
389         touch $@
390
391 CLEAN_FILE += .vorbis .vorbisenc
392 CLEAN_PKG += libvorbis
393 DISTCLEAN_PKG += libvorbis-$(VORBIS_VERSION).tar.gz
394
395 # ***************************************************************************
396 # theora
397 # ***************************************************************************
398
399 libtheora-$(THEORA_VERSION).tar.bz2:
400         $(WGET) $(THEORA_URL)
401
402 libtheora: libtheora-$(THEORA_VERSION).tar.bz2
403         $(EXTRACT_BZ2)
404         patch -p 0 < Patches/theora.patch
405
406 .theora: libtheora
407         (cd $<; CC="gcc $(CFLAGS)" ./configure --prefix=$(PREFIX) && make && make install)
408         touch $@
409
410 CLEAN_FILE += .theora
411 CLEAN_PKG += libtheora
412 DISTCLEAN_PKG += libtheora-$(THEORA_VERSION).tar.bz2
413
414 # ***************************************************************************
415 # flac
416 # ***************************************************************************
417
418 flac-$(FLAC_VERSION).tar.gz:
419         $(WGET) $(FLAC_URL)
420
421 flac: flac-$(FLAC_VERSION).tar.gz
422         $(EXTRACT_GZ)
423
424 .FLAC: flac
425         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
426         $(INSTALL_NAME)
427         touch $@
428
429 CLEAN_FILE += .flac
430 CLEAN_PKG += flac
431 DISTCLEAN_PKG += flac-$(FLAC_VERSION).tar.gz
432
433 # ***************************************************************************
434 # speex
435 # ***************************************************************************
436
437 speex-$(SPEEX_VERSION).tar.gz:
438         $(WGET) $(SPEEX_URL)
439
440 speex: speex-$(SPEEX_VERSION).tar.gz
441         $(EXTRACT_GZ)
442
443 .speex: speex
444         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
445         $(INSTALL_NAME)
446         touch $@
447
448 CLEAN_FILE += .speex
449 CLEAN_PKG += speex
450 DISTCLEAN_PKG += speex-$(SPEEX_VERSION).tar.gz
451
452 # ***************************************************************************
453 # faad2
454 # ***************************************************************************
455
456 #faad2:
457 #       @echo "*** Please type return here : ***"
458 #       cvs -d $(FAAD2_CVSROOT) login
459 #       cvs -d $(FAAD2_CVSROOT) co faad2
460 #       (cd $@; patch -p 0 < ../Patches/faad2.patch)
461 #       (cd $@; sh ./bootstrap)
462
463 faad2-$(FAAD2_VERSION).tar.bz2:
464         $(WGET) $(FAAD2_URL)
465
466 faad2: faad2-$(FAAD2_VERSION).tar.bz2
467         $(EXTRACT_BZ2)
468
469 .faad: faad2
470         (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="-O3" && make -C libfaad && make -C libfaad install)
471         $(INSTALL_NAME)
472         touch $@
473
474 CLEAN_FILE += .faad
475 CLEAN_PKG += faad2
476 DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz
477
478 # ***************************************************************************
479 # faac
480 # ***************************************************************************
481
482 faac-$(FAAC_VERSION).tar.bz2:
483         $(WGET) $(FAAC_URL)
484
485 faac: faac-$(FAAC_VERSION).tar.bz2
486         $(EXTRACT_BZ2)
487         patch -p 0 < Patches/faac.patch
488
489 .faac: faac
490         (cd $<; ./bootstrap && ./configure --prefix=$(PREFIX) --disable-shared && make && make install)
491         touch $@
492
493 CLEAN_FILE += .faac
494 CLEAN_PKG += faac
495 DISTCLEAN_PKG += faac-$(FAAC_VERSION).tar.bz2
496
497 # ***************************************************************************
498 # lame
499 # ***************************************************************************
500
501 lame-$(LAME_VERSION).tar.gz:
502         $(WGET) $(LAME_URL)
503
504 lame: lame-$(LAME_VERSION).tar.gz
505         $(EXTRACT_GZ)
506
507 .lame: lame
508         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
509         touch $@
510
511 CLEAN_FILE += .lame
512 CLEAN_PKG += lame
513 DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz
514
515 # ***************************************************************************
516 # libebml
517 # ***************************************************************************
518
519 libebml-$(LIBEBML_VERSION).tar.gz:
520         $(WGET) $(LIBEBML_URL)
521
522 libebml: libebml-$(LIBEBML_VERSION).tar.gz
523         $(EXTRACT_GZ)
524         -rm -rf $@/CVS
525
526 .ebml: libebml
527         (cd $<; make -C make/linux prefix=$(PREFIX) && make -C make/linux install prefix=$(PREFIX))
528         ranlib $(PREFIX)/lib/libebml.a
529         touch $@
530
531 CLEAN_FILE += .ebml
532 CLEAN_PKG += libebml
533 DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.gz
534
535 # ***************************************************************************
536 # libmatroska
537 # ***************************************************************************
538
539 libmatroska-$(LIBMATROSKA_VERSION).tar.gz:
540         $(WGET) $(LIBMATROSKA_URL)
541
542 libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.gz
543         $(EXTRACT_GZ)
544         -rm -rf $@/CVS
545
546 .matroska: libmatroska
547         (cd $<; make -C make/linux prefix=$(PREFIX) && make -C make/linux install prefix=$(PREFIX))
548         ranlib $(PREFIX)/lib/libmatroska.a
549         touch $@
550
551 CLEAN_FILE += .matroska
552 CLEAN_PKG += libmatroska
553 DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.gz
554
555 # ***************************************************************************
556 # ffmpeg
557 # ***************************************************************************
558
559 ffmpeg:
560         echo $(FFMPEG_CVSROOT) A > ./ffmpeg.cvs
561         CVS_PASSFILE=./ffmpeg.cvs cvs -d $(FFMPEG_CVSROOT) co ffmpeg
562         patch -p 0 < Patches/ffmpeg.patch.cvs
563 #       (cd $@; ./bootstrap)
564
565 ffmpeg-$(FFMPEG_VERSION).tar.gz:
566         $(WGET) $(FFMPEG_URL)
567
568 #ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
569 #       $(EXTRACT_GZ)
570 #       patch -p 0 < Patches/ffmpeg.patch
571
572 .ffmpeg: ffmpeg
573         (cd $<; ./configure --prefix=$(PREFIX) --extra-cflags="$(CFLAGS)" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-mp3lame --enable-faac --enable-pp --disable-vhook --disable-vorbis --disable-faad --disable-a52 --enable-mp3lame --disable-zlib --enable-a52 && make && make -C libavcodec/libpostproc install && make -C libavcodec installlib && make -C libavformat installlib)
574         touch $@
575
576 CLEAN_FILE += .ffmpeg
577 CLEAN_PKG += ffmpeg
578 DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz
579
580 # ***************************************************************************
581 # openslp
582 # ***************************************************************************
583
584 openslp-$(OPENSLP_VERSION).tar.gz:
585         $(WGET) $(OPENSLP_URL)
586
587 openslp: openslp-$(OPENSLP_VERSION).tar.gz
588         $(EXTRACT_GZ)
589         patch -p 0 < Patches/openslp.patch
590
591 .openslp: openslp
592         (cd $<; ./configure --prefix=$(PREFIX) && make SUBDIRS="common libslpattr slpd libslp slptool" && make install SUBDIRS="common libslpattr slpd libslp slptool")
593         touch $@
594
595 CLEAN_FILE += .openslp
596 CLEAN_PKG += openslp
597 DISTCLEAN_PKG += openslp-$(OPENSLP_VERSION).tar.gz
598
599 # ***************************************************************************
600 # libdvdcss
601 # ***************************************************************************
602
603 libdvdcss-$(LIBDVDCSS_VERSION).tar.gz:
604         $(WGET) $(LIBDVDCSS_URL)
605
606 libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
607         $(EXTRACT_GZ)
608
609 .dvdcss: libdvdcss
610         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
611         $(INSTALL_NAME)
612         touch $@
613
614 CLEAN_FILE += .dvdcss
615 CLEAN_PKG += libdvdcss
616 DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
617
618 # ***************************************************************************
619 # libdvdread
620 # ***************************************************************************
621
622 libdvdread-$(LIBDVDREAD_VERSION).tar.gz:
623         $(WGET) $(LIBDVDREAD_URL)
624
625 libdvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.gz
626         $(EXTRACT_GZ)
627
628 .dvdread: libdvdread .dvdcss
629         (cd $<; ./configure --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
630         $(INSTALL_NAME)
631         touch $@
632
633 CLEAN_FILE += .dvdread
634 CLEAN_PKG += libdvdread
635 DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.gz
636
637 # ***************************************************************************
638 # libdvdnav
639 # ***************************************************************************
640
641 libdvdnav-$(LIBDVDNAV_VERSION).tar.gz:
642         $(WGET) $(LIBDVDNAV_URL)
643
644 libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
645         $(EXTRACT_GZ)
646
647 .dvdnav: libdvdnav .dvdread
648         (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
649         $(INSTALL_NAME)
650         touch $@
651
652 CLEAN_FILE += .dvdnav
653 CLEAN_PKG += libdvdnav
654 DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
655
656 # ***************************************************************************
657 # libdvbpsi
658 # ***************************************************************************
659
660 libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz:
661         $(WGET) $(LIBDVBPSI_URL)
662
663 libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz
664         $(EXTRACT_GZ)
665
666 .dvbpsi: libdvbpsi
667         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
668         $(INSTALL_NAME)
669         touch $@
670
671 CLEAN_FILE += .dvbpsi
672 CLEAN_PKG += libdvbpsi
673 DISTCLEAN_PKG += libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz
674
675 # ***************************************************************************
676 # live
677 # ***************************************************************************
678
679 live.$(LIVEDOTCOM_VERSION).tar.gz:
680         $(WGET) $(LIVEDOTCOM_URL)
681
682 live: live.$(LIVEDOTCOM_VERSION).tar.gz
683         $(EXTRACT_GZ)
684         patch -p 0 < Patches/live.patch
685
686 .live: live
687         (cd $<; ./genmakefiles macosx && make )
688         touch $@
689
690 CLEAN_FILE += .live
691 CLEAN_PKG += live
692 DISTCLEAN_PKG += live.$(LIVEDOTCOM_VERSION).tar.gz
693
694 # ***************************************************************************
695 # goom
696 # ***************************************************************************
697
698 goom-macosx-altivec-bin.tar.gz:
699         $(WGET) $(GOOM_URL)
700
701 goom: goom-macosx-altivec-bin.tar.gz
702         $(EXTRACT_GZ)
703
704 .goom: goom
705         (cd $<;)
706         touch $@
707
708 CLEAN_FILE += .goom
709 CLEAN_PKG += goom
710 DISTCLEAN_PKG += goom-macosx-altivec-bin.tar.gz
711
712 # ***************************************************************************
713 # libcaca
714 # ***************************************************************************
715
716 libcaca-$(LIBCACA_VERSION).tar.gz:
717         $(WGET) $(LIBCACA_URL)
718
719 libcaca: libcaca-$(LIBCACA_VERSION).tar.gz
720         $(EXTRACT_GZ)
721
722 .caca: libcaca
723         (cd $<; ./configure --prefix=$(PREFIX) --disable-imlib2 --disable-doc && make && make install)
724         touch $@
725
726 CLEAN_FILE += .caca
727 CLEAN_PKG += libcaca
728 DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz
729
730 # ***************************************************************************
731 # libdts
732 # ***************************************************************************
733
734 libdts-$(LIBDTS_VERSION).tar.gz:
735         $(WGET) $(LIBDTS_URL)
736
737 libdts: libdts-$(LIBDTS_VERSION).tar.gz
738         $(EXTRACT_GZ)
739
740 .dts: libdts
741         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
742         touch $@
743
744 CLEAN_FILE += .dts
745 CLEAN_PKG += libdts
746 DISTCLEAN_PKG += libdts-$(LIBDTS_VERSION).tar.gz
747
748 # ***************************************************************************
749 # libmodplug
750 # ***************************************************************************
751
752 libmodplug-$(MODPLUG_VERSION).tar.gz:
753         $(WGET) $(MODPLUG_URL)
754
755 libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz
756         $(EXTRACT_GZ)
757
758 .mod: libmodplug
759         (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
760         touch $@
761
762 CLEAN_FILE += .mod
763 CLEAN_PKG += libmodplug
764 DISTCLEAN_PKG += libmodplug-$(MODPLUG_VERSION).tar.gz
765
766 # ***************************************************************************
767 # libcddb
768 # ***************************************************************************
769
770 libcddb-$(CDDB_VERSION).tar.gz:
771         $(WGET) $(CDDB_URL)
772
773 libcddb: libcddb-$(CDDB_VERSION).tar.gz
774         $(EXTRACT_GZ)
775         patch -p 0 < Patches/libcddb.patch
776
777 .cddb: libcddb
778         (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
779         touch $@
780
781 CLEAN_FILE += .cddb
782 CLEAN_PKG += libcddb
783 DISTCLEAN_PKG += libcddb-$(CDDB_VERSION).tar.gz
784
785 # ***************************************************************************
786 # vcdimager
787 # ***************************************************************************
788
789 vcdimager-$(VCDIMAGER_VERSION).tar.gz:
790         $(WGET) $(VCDIMAGER_URL)
791
792 vcdimager: vcdimager-$(VCDIMAGER_VERSION).tar.gz
793         $(EXTRACT_GZ)
794         patch -p 0 < Patches/vcdimager.patch
795
796 .vcdimager: vcdimager
797         (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
798         touch $@
799
800 CLEAN_FILE += .vcdimager
801 CLEAN_PKG += vcdimager
802 DISTCLEAN_PKG += vcdimager-$(VCDIMAGER_VERSION).tar.gz
803
804 # ***************************************************************************
805 # libcdio
806 # ***************************************************************************
807
808 libcdio-$(CDIO_VERSION).tar.gz:
809         $(WGET) $(CDIO_URL)
810
811 libcdio: libcdio-$(CDIO_VERSION).tar.gz
812         $(EXTRACT_GZ)
813
814 .cdio: libcdio
815         (cd $<; ./configure --prefix=$(PREFIX) --without-libcddb --without-vcdinfo && make && make install)
816         touch $@
817
818 CLEAN_FILE += .cdio
819 CLEAN_PKG += libcdio
820 DISTCLEAN_PKG += libcdio-$(CDIO_VERSION).tar.gz
821
822 # ***************************************************************************
823 # OpenMash
824 # ***************************************************************************
825
826 mash-src-$(MASH_VERSION).tar.gz:
827         $(WGET) $(MASH_URL)
828
829 mash-code: mash-src-$(MASH_VERSION).tar.gz
830         $(EXTRACT_GZ)
831
832 .mash: mash-code
833         (cd $<; ./configure && make )
834         touch $@
835
836 CLEAN_FILE += .mash
837 CLEAN_PKG += mash-code
838 DISTCLEAN_PKG += mash-src-$(MASH_VERSION).tar.gz
839
840 # ***************************************************************************
841 # Some cleansing
842 # ***************************************************************************
843
844 clean-dots: FORCE
845         rm -f $(CLEAN_FILE)
846
847 clean: clean-dots
848         rm -rf $(CLEAN_PKG)
849
850 clean-src: clean
851         rm -rf $(DISTCLEAN_PKG)
852
853 distclean: clean-src