contrib/*: started to adapt the contrib system for BeOS
[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 .openslp \
63         .dvdcss .dvdread .dvdnav .dvbpsi .live .goom .caca .dts .mod \
64         .cddb .cdio .vcdimager
65 endif
66
67 FORCE:
68
69 # ***************************************************************************
70 # Useful macros
71 # ***************************************************************************
72
73 define EXTRACT_GZ
74         tar xzf $<
75         mv $(patsubst %.tar.gz,%,$(patsubst %.tgz,%,$(notdir $<))) $@ || true
76         touch $@
77 endef
78
79 define EXTRACT_BZ2
80         bunzip2 -c $< | tar xf -
81         mv $(patsubst %.tar.bz2,%,$(notdir $<)) $@ || true
82         touch $@
83 endef
84
85 ### Darwin-specific ###
86 # These macros prepare the dynamic libraries for inclusion in the Mac OS X
87 # bundle. For instance if you're building a library named libtoto.dylib,
88 # which depends on the contrib library libtata.dylib, you should have the
89 # following entry :
90 # .toto: toto_directory .tata
91 #       cd $< ; ./configure --prefix=$(PREFIX)
92 #       $(MAKE) -C $<
93 #       $(MAKE) -C $< install
94 #       $(INSTALL_NAME)
95 #       touch $@
96
97 ifeq ($(SYS),DARWIN)
98 define INSTALL_NAME_LIB
99         install_name_tool \
100                 -change $(PREFIX)/lib/$(shell cd $(PREFIX)/lib; ls | grep "lib$(INSTALL_LIB).[0-9]*.dylib") \
101                 @executable_path/lib/vlc_lib$(INSTALL_LIB).dylib \
102                 $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ;
103 endef
104
105 define INSTALL_NAME
106         if which install_name_tool >/dev/null; then \
107                 mkdir -p $(PREFIX)/vlc-lib ; \
108                 cp $(PREFIX)/lib/lib$(patsubst .%,%,$@).dylib \
109                         $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ; \
110                 install_name_tool \
111                         -id @executable_path/lib/vlc_lib$(patsubst .%,%,$@).dylib \
112                         $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).dylib ; \
113                 $(foreach INSTALL_LIB,$(patsubst .%,%,$(filter .%,$^)), \
114                         $(INSTALL_NAME_LIB)) \
115         fi
116 endef
117 endif
118
119 ifeq ($(SYS),BEOS)
120 define INSTALL_NAME
121         mkdir -p $(PREFIX)/vlc-lib ; \
122         cp $(PREFIX)/lib/lib$(patsubst .%,%,$@).so \
123                 $(PREFIX)/vlc-lib/lib$(patsubst .%,%,$@).so ;
124 endef
125 endif
126
127 # ***************************************************************************
128 # perl
129 # ***************************************************************************
130
131 ifeq ($(SYS),BEOS)
132 perl-$(PERL_VERSION).tar.gz:
133         $(WGET) $(PERL_URL)
134
135 perl: perl-$(PERL_VERSION).tar.gz
136         $(EXTRACT_GZ)
137         mv perl/hints/beos.sh perl/hints/beos.sh.orig
138         sed 's%prefix="/boot/home/config"%prefix="$(PREFIX)"%' < perl/hints/beos.sh.orig > perl/hints/beos.sh
139
140 .perl: perl
141         (cd $<; ./Configure -d -e && make && make install && ln -sf perl5/$(PERL_VERSION)/BePC-beos/CORE/libperl.so $(PREFIX)/lib/libperl.so)
142         touch $@
143
144 CLEAN_FILE += .perl
145 CLEAN_PKG += perl
146 DISTCLEAN_PKG += perl-$(PERL_VERSION).tar.gz
147 endif
148
149 # ***************************************************************************
150 # autoconf
151 # ***************************************************************************
152
153 autoconf-$(AUTOCONF_VERSION).tar.gz:
154         $(WGET) $(AUTOCONF_URL)
155
156 autoconf: autoconf-$(AUTOCONF_VERSION).tar.gz
157         $(EXTRACT_GZ)
158
159 .autoconf: autoconf
160         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
161         touch $@
162
163 CLEAN_FILE += .autoconf
164 CLEAN_PKG += autoconf
165 DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.gz
166
167 # ***************************************************************************
168 # libtool
169 # ***************************************************************************
170
171 ifeq ($(SYS),DARWIN)
172 .libtool:
173         if test -x /usr/bin/glibtoolize; then \
174                 ln -sf /usr/bin/glibtoolize $(PREFIX)/bin/libtoolize ; \
175         fi
176         touch $@
177 endif
178
179 ifeq ($(SYS),BEOS)
180 libtool-$(LIBTOOL_VERSION).tar.gz:
181         $(WGET) $(LIBTOOL_URL)
182
183 libtool: libtool-$(LIBTOOL_VERSION).tar.gz
184         $(EXTRACT_GZ)
185
186 .libtool: libtool
187         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
188         touch $@
189
190 CLEAN_PKG += libtool
191 DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz
192 endif
193
194 CLEAN_FILE += .libtool
195
196 # ***************************************************************************
197 # automake
198 # ***************************************************************************
199
200 automake-$(AUTOMAKE_VERSION).tar.gz:
201         $(WGET) $(AUTOMAKE_URL)
202
203 automake: automake-$(AUTOMAKE_VERSION).tar.gz
204         $(EXTRACT_GZ)
205
206 .automake: automake
207         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
208         touch $@
209
210 CLEAN_FILE += .automake
211 CLEAN_PKG += automake
212 DISTCLEAN_PKG += automake-$(AUTOMAKE_VERSION).tar.gz
213
214 # ***************************************************************************
215 # libiconv
216 # ***************************************************************************
217
218 libiconv-$(LIBICONV_VERSION).tar.gz:
219         $(WGET) $(LIBICONV_URL)
220
221 libiconv: libiconv-$(LIBICONV_VERSION).tar.gz
222         $(EXTRACT_GZ)
223
224 .iconv: libiconv
225         (cd libiconv; ./configure --prefix=$(PREFIX) && make && make install)
226         $(INSTALL_NAME)
227         touch $@
228
229 CLEAN_FILE += .iconv
230 CLEAN_PKG += libiconv
231 DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz
232
233 # ***************************************************************************
234 # pkgconfig
235 # ***************************************************************************
236
237 pkgconfig-$(PKGCFG_VERSION).tar.gz:
238         $(WGET) $(PKGCFG_URL)
239
240 pkgconfig: pkgconfig-$(PKGCFG_VERSION).tar.gz
241         $(EXTRACT_GZ)
242
243 .pkgcfg: pkgconfig
244         (cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
245         touch $@
246
247 CLEAN_FILE += .pkgcfg
248 CLEAN_PKG += pkgconfig
249 DISTCLEAN_PKG += pkgconfig-$(PKGCFG_VERSION).tar.gz
250 # ***************************************************************************
251 # gettext
252 # ***************************************************************************
253
254 gettext-$(GETTEXT_VERSION).tar.gz:
255         $(WGET) $(GETTEXT_URL)
256
257 gettext: gettext-$(GETTEXT_VERSION).tar.gz
258         $(EXTRACT_GZ)
259         patch -p 0 < Patches/gettext.patch
260
261 .intl: gettext .iconv
262         ( cd $< && ./configure --prefix=$(PREFIX) )
263 ifeq ($(SYS),BEOS)
264 # The ugliest kludge ever - so libtool correctly links shared libraries
265 # on BeOS. Sorry, I just can't figure out how libtool works
266         ( 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 )
267 endif
268         ( cd $< && make && make install )
269         $(INSTALL_NAME)
270         touch $@
271
272 CLEAN_FILE += .intl
273 CLEAN_PKG += gettext
274 DISTCLEAN_PKG += gettext-$(GETTEXT_VERSION).tar.gz
275
276 # ***************************************************************************
277 # freetype2
278 # ***************************************************************************
279
280 freetype-$(FREETYPE2_VERSION).tar.gz:
281         $(WGET) $(FREETYPE2_URL)
282
283 freetype2: freetype-$(FREETYPE2_VERSION).tar.gz
284         $(EXTRACT_GZ)
285
286 .freetype: freetype2
287         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
288 ifeq ($(SYS),DARWIN)
289         $(INSTALL_NAME)
290 endif
291         touch $@
292
293 CLEAN_FILE += .freetype
294 CLEAN_PKG += freetype2
295 DISTCLEAN_PKG += freetype-$(FREETYPE2_VERSION).tar.gz
296
297 # ***************************************************************************
298 # fribidi
299 # ***************************************************************************
300
301 fribidi-$(FRIBIDI_VERSION).tar.gz:
302         $(WGET) $(FRIBIDI_URL)
303
304 fribidi: fribidi-$(FRIBIDI_VERSION).tar.gz
305         $(EXTRACT_GZ)
306         patch -p 0 < Patches/fribidi.patch
307
308 .fribidi: fribidi
309         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
310 ifeq ($(SYS),DARWIN)
311         $(INSTALL_NAME)
312 endif
313         touch $@
314
315 CLEAN_FILE += .fribidi
316 CLEAN_PKG += fribidi
317 DISTCLEAN_PKG += fribidi-$(FRIBIDI_VERSION).tar.gz
318
319 # ***************************************************************************
320 # liba52
321 # ***************************************************************************
322
323 a52dec-$(A52DEC_VERSION).tar.gz:
324         $(WGET) $(A52DEC_URL)
325
326 a52dec: a52dec-$(A52DEC_VERSION).tar.gz
327         $(EXTRACT_GZ)
328
329 .a52: a52dec
330         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
331         touch $@
332
333 CLEAN_FILE += .a52
334 CLEAN_PKG += a52dec
335 DISTCLEAN_PKG += a52dec-$(A52DEC_VERSION).tar.gz
336
337 # ***************************************************************************
338 # mpeg2dec
339 # ***************************************************************************
340
341 #mpeg2dec:
342 #       @echo "*** Please press return here : ***"
343 #       cvs -d $(MPEG2DEC_CVSROOT) login
344 #       cvs -d $(MPEG2DEC_CVSROOT) co mpeg2dec
345 #       (cd $@; ./bootstrap)
346
347 #mpeg2dec-$(MPEG2DEC_VERSION).tar.gz:
348 #       $(WGET) $(MPEG2DEC_URL)
349
350 # It is easier to use bootstrapped versions...
351 mpeg2dec-$(MPEG2DEC_VERSION).tar.gz:
352         $(WGET) $(MPEG2DEC_SNAPSHOT)
353         mv mpeg2dec-snapshot.tar.gz $@
354
355 mpeg2dec: mpeg2dec-$(MPEG2DEC_VERSION).tar.gz
356         $(EXTRACT_GZ)
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-$(MPEG2_DEC_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
508 .speex: speex
509         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
510         $(INSTALL_NAME)
511         touch $@
512
513 CLEAN_FILE += .speex
514 CLEAN_PKG += speex
515 DISTCLEAN_PKG += speex-$(SPEEX_VERSION).tar.gz
516
517 # ***************************************************************************
518 # faad2
519 # ***************************************************************************
520
521 #faad2:
522 #       @echo "*** Please type return here : ***"
523 #       cvs -d $(FAAD2_CVSROOT) login
524 #       cvs -d $(FAAD2_CVSROOT) co faad2
525 #       (cd $@; patch -p 0 < ../Patches/faad2.patch)
526 #       (cd $@; sh ./bootstrap)
527
528 faad2-$(FAAD2_VERSION).tar.bz2:
529         $(WGET) $(FAAD2_URL)
530
531 faad2: faad2-$(FAAD2_VERSION).tar.bz2
532         $(EXTRACT_BZ2)
533
534 .faad: faad2
535         (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="-O3" && make -C libfaad && make -C libfaad install)
536         $(INSTALL_NAME)
537         touch $@
538
539 CLEAN_FILE += .faad
540 CLEAN_PKG += faad2
541 DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz
542
543 # ***************************************************************************
544 # faac
545 # ***************************************************************************
546
547 faac-$(FAAC_VERSION).tar.bz2:
548         $(WGET) $(FAAC_URL)
549
550 faac: faac-$(FAAC_VERSION).tar.bz2
551         $(EXTRACT_BZ2)
552         patch -p 0 < Patches/faac.patch
553
554 .faac: faac
555         (cd $<; ./bootstrap && ./configure --prefix=$(PREFIX) --disable-shared && make && make install)
556         touch $@
557
558 CLEAN_FILE += .faac
559 CLEAN_PKG += faac
560 DISTCLEAN_PKG += faac-$(FAAC_VERSION).tar.bz2
561
562 # ***************************************************************************
563 # lame
564 # ***************************************************************************
565
566 lame-$(LAME_VERSION).tar.gz:
567         $(WGET) $(LAME_URL)
568
569 lame: lame-$(LAME_VERSION).tar.gz
570         $(EXTRACT_GZ)
571
572 .lame: lame
573         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
574         touch $@
575
576 CLEAN_FILE += .lame
577 CLEAN_PKG += lame
578 DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz
579
580 # ***************************************************************************
581 # libebml
582 # ***************************************************************************
583
584 libebml-$(LIBEBML_VERSION).tar.gz:
585         $(WGET) $(LIBEBML_URL)
586
587 libebml: libebml-$(LIBEBML_VERSION).tar.gz
588         $(EXTRACT_GZ)
589         -rm -rf $@/CVS
590
591 .ebml: libebml
592         (cd $<; make -C make/linux prefix=$(PREFIX) && make -C make/linux install prefix=$(PREFIX))
593         ranlib $(PREFIX)/lib/libebml.a
594         touch $@
595
596 CLEAN_FILE += .ebml
597 CLEAN_PKG += libebml
598 DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.gz
599
600 # ***************************************************************************
601 # libmatroska
602 # ***************************************************************************
603
604 libmatroska-$(LIBMATROSKA_VERSION).tar.gz:
605         $(WGET) $(LIBMATROSKA_URL)
606
607 libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.gz
608         $(EXTRACT_GZ)
609         -rm -rf $@/CVS
610
611 .matroska: libmatroska
612         (cd $<; make -C make/linux prefix=$(PREFIX) && make -C make/linux install prefix=$(PREFIX))
613         ranlib $(PREFIX)/lib/libmatroska.a
614         touch $@
615
616 CLEAN_FILE += .matroska
617 CLEAN_PKG += libmatroska
618 DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.gz
619
620 # ***************************************************************************
621 # ffmpeg
622 # ***************************************************************************
623
624 ffmpeg:
625         echo $(FFMPEG_CVSROOT) A > ./ffmpeg.cvs
626         CVS_PASSFILE=./ffmpeg.cvs cvs -d $(FFMPEG_CVSROOT) co ffmpeg
627         patch -p 0 < Patches/ffmpeg.patch.cvs
628 #       (cd $@; ./bootstrap)
629
630 ffmpeg-$(FFMPEG_VERSION).tar.gz:
631         $(WGET) $(FFMPEG_URL)
632
633 #ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
634 #       $(EXTRACT_GZ)
635 #       patch -p 0 < Patches/ffmpeg.patch
636
637 .ffmpeg: ffmpeg
638         (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)
639         touch $@
640
641 CLEAN_FILE += .ffmpeg
642 CLEAN_PKG += ffmpeg
643 DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz
644
645 # ***************************************************************************
646 # openslp
647 # ***************************************************************************
648
649 openslp-$(OPENSLP_VERSION).tar.gz:
650         $(WGET) $(OPENSLP_URL)
651
652 openslp: openslp-$(OPENSLP_VERSION).tar.gz
653         $(EXTRACT_GZ)
654         patch -p 0 < Patches/openslp.patch
655
656 .openslp: openslp
657         (cd $<; ./configure --prefix=$(PREFIX) && make SUBDIRS="common libslpattr slpd libslp slptool" && make install SUBDIRS="common libslpattr slpd libslp slptool")
658         touch $@
659
660 CLEAN_FILE += .openslp
661 CLEAN_PKG += openslp
662 DISTCLEAN_PKG += openslp-$(OPENSLP_VERSION).tar.gz
663
664 # ***************************************************************************
665 # libdvdcss
666 # ***************************************************************************
667
668 libdvdcss-$(LIBDVDCSS_VERSION).tar.gz:
669         $(WGET) $(LIBDVDCSS_URL)
670
671 libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
672         $(EXTRACT_GZ)
673
674 .dvdcss: libdvdcss
675         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
676         $(INSTALL_NAME)
677         touch $@
678
679 CLEAN_FILE += .dvdcss
680 CLEAN_PKG += libdvdcss
681 DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
682
683 # ***************************************************************************
684 # libdvdread
685 # ***************************************************************************
686
687 libdvdread-$(LIBDVDREAD_VERSION).tar.gz:
688         $(WGET) $(LIBDVDREAD_URL)
689
690 libdvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.gz
691         $(EXTRACT_GZ)
692
693 .dvdread: libdvdread .dvdcss
694         (cd $<; ./configure --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
695         $(INSTALL_NAME)
696         touch $@
697
698 CLEAN_FILE += .dvdread
699 CLEAN_PKG += libdvdread
700 DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.gz
701
702 # ***************************************************************************
703 # libdvdnav
704 # ***************************************************************************
705
706 libdvdnav-$(LIBDVDNAV_VERSION).tar.gz:
707         $(WGET) $(LIBDVDNAV_URL)
708
709 libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
710         $(EXTRACT_GZ)
711         patch -p 0 < Patches/dvdnav.patch
712
713 .dvdnav: libdvdnav .dvdread
714         (cd $<; autoconf && ./configure --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
715         $(INSTALL_NAME)
716         touch $@
717
718 CLEAN_FILE += .dvdnav
719 CLEAN_PKG += libdvdnav
720 DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
721
722 # ***************************************************************************
723 # libdvbpsi
724 # ***************************************************************************
725
726 libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz:
727         $(WGET) $(LIBDVBPSI_URL)
728
729 libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz
730         $(EXTRACT_GZ)
731
732 .dvbpsi: libdvbpsi
733         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
734         $(INSTALL_NAME)
735         touch $@
736
737 CLEAN_FILE += .dvbpsi
738 CLEAN_PKG += libdvbpsi
739 DISTCLEAN_PKG += libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz
740
741 # ***************************************************************************
742 # live
743 # ***************************************************************************
744
745 live.$(LIVEDOTCOM_VERSION).tar.gz:
746         $(WGET) $(LIVEDOTCOM_URL)
747
748 live: live.$(LIVEDOTCOM_VERSION).tar.gz
749         $(EXTRACT_GZ)
750         patch -p 0 < Patches/live.patch
751
752 .live: live
753         (cd $<; ./genmakefiles macosx && make )
754         touch $@
755
756 CLEAN_FILE += .live
757 CLEAN_PKG += live
758 DISTCLEAN_PKG += live.$(LIVEDOTCOM_VERSION).tar.gz
759
760 # ***************************************************************************
761 # goom
762 # ***************************************************************************
763
764 goom-macosx-altivec-bin.tar.gz:
765         $(WGET) $(GOOM_URL)
766
767 goom: goom-macosx-altivec-bin.tar.gz
768         $(EXTRACT_GZ)
769
770 .goom: goom
771         (cd $<;)
772         touch $@
773
774 CLEAN_FILE += .goom
775 CLEAN_PKG += goom
776 DISTCLEAN_PKG += goom-macosx-altivec-bin.tar.gz
777
778 # ***************************************************************************
779 # libcaca
780 # ***************************************************************************
781
782 libcaca-$(LIBCACA_VERSION).tar.gz:
783         $(WGET) $(LIBCACA_URL)
784
785 libcaca: libcaca-$(LIBCACA_VERSION).tar.gz
786         $(EXTRACT_GZ)
787
788 .caca: libcaca
789         (cd $<; ./configure --prefix=$(PREFIX) --disable-imlib2 --disable-doc && make && make install)
790         touch $@
791
792 CLEAN_FILE += .caca
793 CLEAN_PKG += libcaca
794 DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz
795
796 # ***************************************************************************
797 # libdts
798 # ***************************************************************************
799
800 libdts-$(LIBDTS_VERSION).tar.gz:
801         $(WGET) $(LIBDTS_URL)
802
803 libdts: libdts-$(LIBDTS_VERSION).tar.gz
804         $(EXTRACT_GZ)
805
806 .dts: libdts
807         (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
808         touch $@
809
810 CLEAN_FILE += .dts
811 CLEAN_PKG += libdts
812 DISTCLEAN_PKG += libdts-$(LIBDTS_VERSION).tar.gz
813
814 # ***************************************************************************
815 # libmodplug
816 # ***************************************************************************
817
818 libmodplug-$(MODPLUG_VERSION).tar.gz:
819         $(WGET) $(MODPLUG_URL)
820
821 libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz
822         $(EXTRACT_GZ)
823
824 .mod: libmodplug
825         (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
826         touch $@
827
828 CLEAN_FILE += .mod
829 CLEAN_PKG += libmodplug
830 DISTCLEAN_PKG += libmodplug-$(MODPLUG_VERSION).tar.gz
831
832 # ***************************************************************************
833 # libcddb
834 # ***************************************************************************
835
836 libcddb-$(CDDB_VERSION).tar.gz:
837         $(WGET) $(CDDB_URL)
838
839 libcddb: libcddb-$(CDDB_VERSION).tar.gz
840         $(EXTRACT_GZ)
841         patch -p 0 < Patches/libcddb.patch
842
843 .cddb: libcddb
844         (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" && make && make install)
845         touch $@
846
847 CLEAN_FILE += .cddb
848 CLEAN_PKG += libcddb
849 DISTCLEAN_PKG += libcddb-$(CDDB_VERSION).tar.gz
850
851 # ***************************************************************************
852 # vcdimager
853 # ***************************************************************************
854
855 vcdimager-$(VCDIMAGER_VERSION).tar.gz:
856         $(WGET) $(VCDIMAGER_URL)
857
858 vcdimager: vcdimager-$(VCDIMAGER_VERSION).tar.gz
859         $(EXTRACT_GZ)
860         patch -p 0 < Patches/vcdimager.patch
861
862 .vcdimager: vcdimager
863         (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
864         touch $@
865
866 CLEAN_FILE += .vcdimager
867 CLEAN_PKG += vcdimager
868 DISTCLEAN_PKG += vcdimager-$(VCDIMAGER_VERSION).tar.gz
869
870 # ***************************************************************************
871 # libcdio
872 # ***************************************************************************
873
874 libcdio-$(CDIO_VERSION).tar.gz:
875         $(WGET) $(CDIO_URL)
876
877 libcdio: libcdio-$(CDIO_VERSION).tar.gz
878         $(EXTRACT_GZ)
879
880 .cdio: libcdio
881         (cd $<; ./configure --prefix=$(PREFIX) --without-libcddb --without-vcdinfo && make && make install)
882         touch $@
883
884 CLEAN_FILE += .cdio
885 CLEAN_PKG += libcdio
886 DISTCLEAN_PKG += libcdio-$(CDIO_VERSION).tar.gz
887
888 # ***************************************************************************
889 # OpenMash
890 # ***************************************************************************
891
892 mash-src-$(MASH_VERSION).tar.gz:
893         $(WGET) $(MASH_URL)
894
895 mash-code: mash-src-$(MASH_VERSION).tar.gz
896         $(EXTRACT_GZ)
897
898 .mash: mash-code
899         (cd $<; ./configure && make )
900         touch $@
901
902 CLEAN_FILE += .mash
903 CLEAN_PKG += mash-code
904 DISTCLEAN_PKG += mash-src-$(MASH_VERSION).tar.gz
905
906 # ***************************************************************************
907 # Some cleansing
908 # ***************************************************************************
909
910 clean-dots: FORCE
911         rm -f $(CLEAN_FILE)
912
913 clean: clean-dots
914         rm -rf $(CLEAN_PKG)
915
916 clean-src: clean
917         rm -rf $(DISTCLEAN_PKG)
918
919 distclean: clean-src