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