0fd8a0d2b387fe19a7d547ef436d9dfebe2c30bc
[vlc.git] / 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         patch -p 0 < Patches/dvdnav.patch
647
648 .dvdnav: libdvdnav .dvdread
649         (cd $<; autoconf && ./configure --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
650         $(INSTALL_NAME)
651         touch $@
652
653 CLEAN_FILE += .dvdnav
654 CLEAN_PKG += libdvdnav
655 DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
656
657 # ***************************************************************************
658 # libdvbpsi
659 # ***************************************************************************
660
661 libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz:
662         $(WGET) $(LIBDVBPSI_URL)
663
664 libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz
665         $(EXTRACT_GZ)
666
667 .dvbpsi: libdvbpsi
668         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
669         $(INSTALL_NAME)
670         touch $@
671
672 CLEAN_FILE += .dvbpsi
673 CLEAN_PKG += libdvbpsi
674 DISTCLEAN_PKG += libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz
675
676 # ***************************************************************************
677 # live
678 # ***************************************************************************
679
680 live.$(LIVEDOTCOM_VERSION).tar.gz:
681         $(WGET) $(LIVEDOTCOM_URL)
682
683 live: live.$(LIVEDOTCOM_VERSION).tar.gz
684         $(EXTRACT_GZ)
685         patch -p 0 < Patches/live.patch
686
687 .live: live
688         (cd $<; ./genmakefiles macosx && make )
689         touch $@
690
691 CLEAN_FILE += .live
692 CLEAN_PKG += live
693 DISTCLEAN_PKG += live.$(LIVEDOTCOM_VERSION).tar.gz
694
695 # ***************************************************************************
696 # goom
697 # ***************************************************************************
698
699 goom-macosx-altivec-bin.tar.gz:
700         $(WGET) $(GOOM_URL)
701
702 goom: goom-macosx-altivec-bin.tar.gz
703         $(EXTRACT_GZ)
704
705 .goom: goom
706         (cd $<;)
707         touch $@
708
709 CLEAN_FILE += .goom
710 CLEAN_PKG += goom
711 DISTCLEAN_PKG += goom-macosx-altivec-bin.tar.gz
712
713 # ***************************************************************************
714 # libcaca
715 # ***************************************************************************
716
717 libcaca-$(LIBCACA_VERSION).tar.gz:
718         $(WGET) $(LIBCACA_URL)
719
720 libcaca: libcaca-$(LIBCACA_VERSION).tar.gz
721         $(EXTRACT_GZ)
722
723 .caca: libcaca
724         (cd $<; ./configure --prefix=$(PREFIX) --disable-imlib2 --disable-doc && make && make install)
725         touch $@
726
727 CLEAN_FILE += .caca
728 CLEAN_PKG += libcaca
729 DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz
730
731 # ***************************************************************************
732 # libdts
733 # ***************************************************************************
734
735 libdts-$(LIBDTS_VERSION).tar.gz:
736         $(WGET) $(LIBDTS_URL)
737
738 libdts: libdts-$(LIBDTS_VERSION).tar.gz
739         $(EXTRACT_GZ)
740
741 .dts: libdts
742         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
743         touch $@
744
745 CLEAN_FILE += .dts
746 CLEAN_PKG += libdts
747 DISTCLEAN_PKG += libdts-$(LIBDTS_VERSION).tar.gz
748
749 # ***************************************************************************
750 # libmodplug
751 # ***************************************************************************
752
753 libmodplug-$(MODPLUG_VERSION).tar.gz:
754         $(WGET) $(MODPLUG_URL)
755
756 libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz
757         $(EXTRACT_GZ)
758
759 .mod: libmodplug
760         (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
761         touch $@
762
763 CLEAN_FILE += .mod
764 CLEAN_PKG += libmodplug
765 DISTCLEAN_PKG += libmodplug-$(MODPLUG_VERSION).tar.gz
766
767 # ***************************************************************************
768 # libcddb
769 # ***************************************************************************
770
771 libcddb-$(CDDB_VERSION).tar.gz:
772         $(WGET) $(CDDB_URL)
773
774 libcddb: libcddb-$(CDDB_VERSION).tar.gz
775         $(EXTRACT_GZ)
776         patch -p 0 < Patches/libcddb.patch
777
778 .cddb: libcddb
779         (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" && make && make install)
780         touch $@
781
782 CLEAN_FILE += .cddb
783 CLEAN_PKG += libcddb
784 DISTCLEAN_PKG += libcddb-$(CDDB_VERSION).tar.gz
785
786 # ***************************************************************************
787 # vcdimager
788 # ***************************************************************************
789
790 vcdimager-$(VCDIMAGER_VERSION).tar.gz:
791         $(WGET) $(VCDIMAGER_URL)
792
793 vcdimager: vcdimager-$(VCDIMAGER_VERSION).tar.gz
794         $(EXTRACT_GZ)
795         patch -p 0 < Patches/vcdimager.patch
796
797 .vcdimager: vcdimager
798         (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
799         touch $@
800
801 CLEAN_FILE += .vcdimager
802 CLEAN_PKG += vcdimager
803 DISTCLEAN_PKG += vcdimager-$(VCDIMAGER_VERSION).tar.gz
804
805 # ***************************************************************************
806 # libcdio
807 # ***************************************************************************
808
809 libcdio-$(CDIO_VERSION).tar.gz:
810         $(WGET) $(CDIO_URL)
811
812 libcdio: libcdio-$(CDIO_VERSION).tar.gz
813         $(EXTRACT_GZ)
814
815 .cdio: libcdio
816         (cd $<; ./configure --prefix=$(PREFIX) --without-libcddb --without-vcdinfo && make && make install)
817         touch $@
818
819 CLEAN_FILE += .cdio
820 CLEAN_PKG += libcdio
821 DISTCLEAN_PKG += libcdio-$(CDIO_VERSION).tar.gz
822
823 # ***************************************************************************
824 # OpenMash
825 # ***************************************************************************
826
827 mash-src-$(MASH_VERSION).tar.gz:
828         $(WGET) $(MASH_URL)
829
830 mash-code: mash-src-$(MASH_VERSION).tar.gz
831         $(EXTRACT_GZ)
832
833 .mash: mash-code
834         (cd $<; ./configure && make )
835         touch $@
836
837 CLEAN_FILE += .mash
838 CLEAN_PKG += mash-code
839 DISTCLEAN_PKG += mash-src-$(MASH_VERSION).tar.gz
840
841 # ***************************************************************************
842 # Some cleansing
843 # ***************************************************************************
844
845 clean-dots: FORCE
846         rm -f $(CLEAN_FILE)
847
848 clean: clean-dots
849         rm -rf $(CLEAN_PKG)
850
851 clean-src: clean
852         rm -rf $(DISTCLEAN_PKG)
853
854 distclean: clean-src