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