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