"kernel/perf_counter.c" did not exist on "b5aa97e83bcc31a96374d18f5452d53909a16c90"
Makefile 77.1 KB
Newer Older
1
#***************************************************************************
2 3
# src/Makefile : Dearchive and compile all files necessary
# ***************************************************************************
4
# Copyright (C) 2003 - 2008 the VideoLAN team
5 6 7 8
# $Id$
#
# Authors: Christophe Massiot <massiot@via.ecp.fr>
#          Derk-Jan Hartman <hartman at videolan dot org>
9
#          Eric Petit <titer@m0k.org>
10
#          Felix Paul Kühne <fkuehne@videolan.org>
Christophe Mutricy's avatar
Christophe Mutricy committed
11
#          Christophe Mutricy <xtophe AT xtelevision.com>
12
#          Gildas Bazin <gbazin at videolan dot org>
13
#          Damien Fouilleul <damienf at videolan dot org>
14
#          Jean-Baptiste Kempf <jb at videolan dot org>
15 16 17 18 19 20 21 22 23 24 25 26 27
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
Antoine Cellerier's avatar
Antoine Cellerier committed
28
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
29 30 31 32 33 34 35 36 37
# ***************************************************************************

include ../config.mak
include ./packages.mak

# ***************************************************************************
# Set a clean environment
# ***************************************************************************

38 39
export PATH := $(PREFIX)/bin:$(EXTRA_PATH):$(PATH)
export PKG_CONFIG_PATH
40
export PKG_CONFIG_LIBDIR = $(PREFIX)/lib/pkgconfig
41
export MACOSX_DEPLOYMENT_TARGET = $(SDK_TARGET)
42
export LIBRARY_PATH := $(PREFIX)/lib:$(LIBRARY_PATH)
43 44 45
export CFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
export CPPFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
export CXXFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
46 47 48 49 50 51 52 53 54
export LDFLAGS = -L$(PREFIX)/lib $(EXTRA_LDFLAGS)

# ***************************************************************************
# Cross compilation variables
# We'll usually use --host=<platform>, except for a few libraries which
# don't handle it (gotta set CC/CXX/etc), and obviously FFmpeg has its own
# way of doing it... ;)
# ***************************************************************************

55 56 57 58 59 60
ifneq ($(CC),)
HOSTCC+= CC="$(CC)"
endif
ifneq ($(CXX),)
HOSTCC+= CXX="$(CXX)"
endif
61 62 63
ifneq ($(LD),)
HOSTCC+= LD="$(LD)"
endif
64 65 66 67 68 69
ifneq ($(RANLIB),)
HOSTCC+= RANLIB="$(RANLIB)"
endif
ifneq ($(AR),)
HOSTCC+= AR="$(AR)"
endif
70 71 72 73
ifneq ($(STRIP),)
HOSTCC+= STRIP="$(STRIP)"
endif

74

75 76 77 78 79
# Define ranlib on non-cross compilation setups
ifeq ($(RANLIB),)
RANLIB=ranlib
endif

80 81 82
# For libebml/libmatroska. Grrr.
ifneq ($(AR),)
HOSTCC2=$(HOSTCC) AR="$(AR) rcvu"
83 84
else
HOSTCC2=$(HOSTCC)
85 86
endif

87 88 89 90 91
# For ffmpeg if not cross compiling
ifneq ($(CC),)
  FFMPEGCONF=--cc="$(CC)"
endif

92
#
93
# cross compiling
94
#
95 96
#This should be inside the if block but some config scripts are buggy
HOSTCONF=--target=$(HOST) --host=$(HOST) --build=$(BUILD) --program-prefix=""
97 98 99 100 101
ifneq ($(BUILD),$(HOST))
    #
    # Compiling for MinGW under Cygwin could be deemed as cross compiling
    # unfortunately there isn't a complete separate GCC toolchain for MinGW under Cygwin
    #
102
    ifndef HAVE_CYGWIN
103
        # We are REALLY cross compiling
104
        FFMPEGCONF=--cross-prefix=$(HOST)- --enable-cross-compile
105
        X264CONF=--host=$(HOST)
106
        PTHREADSCONF="CROSS=$(HOST)-"
107 108
    else
        # We are compiling for MinGW on Cygwin
109
        PTHREADSCONF=$(HOSTCC)
110
    endif
111
endif
112 113

#
114
# Special target-dependant options
115
#
116
ifdef HAVE_WIN32
117
HOSTCONF+= --without-pic --disable-shared --enable-msw --with-included-opencdk --with-included-libtasn1 --disable-dependency-tracking
118
FFMPEGCONF+= --target-os=mingw32 --enable-memalign-hack --cpu=i686 --arch=i686 --disable-debug
119 120 121 122
endif

ifdef HAVE_WINCE
HOSTCONF+= --without-pic --disable-shared
123
FFMPEGCONF+= --enable-mingwce --cpu=armv4l --disable-debug --disable-encoders --disable-muxers --disable-mpegaudio-hp --disable-decoder=snow --disable-decoder=vc9 --disable-decoder=wmv3 --disable-decoder=vorbis --disable-decoder=dvdsub --disable-decoder=dvbsub --disable-protocols
124 125 126
endif

ifdef HAVE_UCLIBC
127
ifdef HAVE_BIGENDIAN
128
FFMPEGCONF+= --arch=armeb --enable-armv5te --enable-iwmmxt
129 130 131
else
FFMPEGCONF+= --arch=armv4l
endif
132
FFMPEGCONF+= --enable-small --disable-debug --disable-mpegaudio-hp
133
FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99
134
else
135
FFMPEGCONF+= --enable-libmp3lame --enable-libfaac --enable-swscale
136 137
endif

138
ifdef HAVE_BEOS
139
FFMPEGCONF+= --cpu=x86 --disable-debug --disable-audio-beos
140 141
endif

142
ifdef HAVE_DARWIN_OS_ON_INTEL
143
FFMPEGCONF += --enable-memalign-hack --cpu=pentium-m
144 145
endif

146
ifdef NO_TEXT_RELOCATION
147 148 149
FFMPEGCONF += --disable-mmx
endif

150
ifdef HAVE_DARWIN_OS
151
X264CONF += --enable-pic
152
ifdef HAVE_DARWIN_OS_ON_INTEL
153
FFMPEG_CFLAGS += -DHAVE_LRINTF
154 155
else
FFMPEGCONF += --disable-altivec
156
endif
157 158
endif

159
ifdef HAVE_AMR
160
FFMPEGCONF+= --enable-libamr-nb --enable-libamr-wb --enable-nonfree
161 162
endif

163 164
DATE=`date +%Y-%m-%d`

165 166 167
# ***************************************************************************
# Standard rules
# ***************************************************************************
168 169 170
# Generated by ./bootstrap from default configuration in src/Distributions
# 
include ../distro.mak
171 172 173 174 175 176 177 178

FORCE:

# ***************************************************************************
# Useful macros
# ***************************************************************************

define EXTRACT_GZ
179
	rm -rf $@ || true
Christophe Mutricy's avatar
oups  
Christophe Mutricy committed
180
	gunzip -c $< | tar xf - --exclude='[*?:<>\|]' 
181 182
	mv $(patsubst %.tar.gz,%,$(patsubst %.tgz,%,$(notdir $<))) $@ || true
	touch $@
183 184 185
endef

define EXTRACT_BZ2
186 187 188 189
	rm -rf $@ || true
	bunzip2 -c $< | tar xf - --exclude='[*?:<>\|]' 
	mv $(patsubst %.tar.bz2,%,$(notdir $<)) $@ || true
	touch $@
190 191
endef

192
define EXTRACT_ZIP
193 194 195 196
	rm -rf $@ || true
	unzip $<
	mv $(patsubst %.zip,%,$(notdir $<)) $@ || true
	touch $@
197 198
endef

199 200 201 202 203 204
### Darwin-specific ###
# These macros prepare the dynamic libraries for inclusion in the Mac OS X
# bundle. For instance if you're building a library named libtoto.dylib,
# which depends on the contrib library libtata.dylib, you should have the
# following entry :
# .toto: toto_directory .tata
205 206 207 208 209
#	cd $< ; ./configure --prefix=$(PREFIX)
#	$(MAKE) -C $<
#	$(MAKE) -C $< install
#	$(INSTALL_NAME)
#	touch $@
210 211 212 213 214

ifeq ($(HOST),i586-pc-beos)
# We test if the file actually exists, as sometimes (but not always)
# libtool won't accept to build the shared library
define INSTALL_NAME
215 216 217 218 219
	if test -f $(PREFIX)/lib/lib$(patsubst .%,%,$@).so ; then \
		mkdir -p $(PREFIX)/vlc-lib ; \
		cp $(PREFIX)/lib/lib$(patsubst .%,%,$@).so \
		  $(PREFIX)/vlc-lib/ ; \
	fi
220 221 222 223 224 225 226 227 228
endef
endif

# ***************************************************************************
# perl
# ***************************************************************************

ifeq ($(BUILD),i586-pc-beos)
perl-$(PERL_VERSION).tar.gz:
229
	$(WGET) $(PERL_URL)
230 231

perl: perl-$(PERL_VERSION).tar.gz
232 233
	$(EXTRACT_GZ)
	sed -i.orig 's%prefix="/boot/home/config"%prefix="$(PREFIX)"%'  perl/hints/beos.sh
234 235

.perl: perl
236 237
	(cd $<; ./Configure -d -e && make && make install && ln -sf perl5/$(PERL_VERSION)/BePC-beos/CORE/libperl.so $(PREFIX)/lib/libperl.so)
	touch $@
238 239 240 241 242 243 244 245 246 247

CLEAN_FILE += .perl
CLEAN_PKG += perl
DISTCLEAN_PKG += perl-$(PERL_VERSION).tar.gz
endif

# ***************************************************************************
# autoconf
# ***************************************************************************

248
autoconf-$(AUTOCONF_VERSION).tar.bz2:
249
	$(WGET) $(AUTOCONF_URL)
250

251
autoconf: autoconf-$(AUTOCONF_VERSION).tar.bz2
252
	$(EXTRACT_BZ2)
253 254

.autoconf: autoconf
255 256
	(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
	touch $@
257 258 259

CLEAN_FILE += .autoconf
CLEAN_PKG += autoconf
260
DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2
261

262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283
# ***************************************************************************
# gnumake
# ***************************************************************************

make-$(GNUMAKE_VERSION).tar.bz2:
	$(WGET) $(GNUMAKE_URL)

gnumake: make-$(GNUMAKE_VERSION).tar.bz2
	$(EXTRACT_BZ2)

.gnumake: gnumake
ifdef HAVE_DARWIN_OS
ifndef HAVE_DARWIN_9
	(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
endif
endif
	touch $@

CLEAN_FILE += .gnumake
CLEAN_PKG += gnumake
DISTCLEAN_PKG += make-$(GNUMAKE_VERSION).tar.bz2

284 285 286
# ***************************************************************************
# CMake
# ***************************************************************************
Rafaël Carré's avatar
Rafaël Carré committed
287 288 289 290 291
cmake-$(CMAKE_VERSION).tar.gz:
	$(WGET) $(CMAKE_URL)

cmake: cmake-$(CMAKE_VERSION).tar.gz
	$(EXTRACT_GZ)
292
	
Rafaël Carré's avatar
Rafaël Carré committed
293 294
#cmake:
#	cvs -d :pserver:anonymous:cmake@www.cmake.org:/cvsroot/CMake co -d cmake CMake
295 296

.cmake: cmake
297 298 299 300 301 302
	(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
	touch $@

CLEAN_FILE += .cmake
CLEAN_PKG += cmake

303 304 305 306 307
# ***************************************************************************
# libtool
# ***************************************************************************

ifdef HAVE_DARWIN_OS
308 309 310 311 312 313 314 315
libtool-$(LIBTOOL_VERSION).tar.gz:
	$(WGET) $(LIBTOOL_URL)

libtool: libtool-$(LIBTOOL_VERSION).tar.gz
	$(EXTRACT_GZ)

.libtool: libtool
	(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
316 317
	ln -sf libtool $(PREFIX)/bin/glibtool
	ln -sf libtoolize $(PREFIX)/bin/glibtoolize
318
	touch $@
319 320 321

CLEAN_PKG += libtool
DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz
322 323
CLEAN_FILE += .libtool

324 325 326 327
endif

ifeq ($(BUILD),i586-pc-beos)
libtool-$(LIBTOOL_VERSION).tar.gz:
328
	$(WGET) $(LIBTOOL_URL)
329 330

libtool: libtool-$(LIBTOOL_VERSION).tar.gz
331
	$(EXTRACT_GZ)
332 333

.libtool: libtool
334 335
	(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
	touch $@
336 337 338 339 340

CLEAN_PKG += libtool
DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz
CLEAN_FILE += .libtool

341 342
endif

343 344 345 346 347
# ***************************************************************************
# automake
# ***************************************************************************

automake-$(AUTOMAKE_VERSION).tar.gz:
348
	$(WGET) $(AUTOMAKE_URL)
349 350

automake: automake-$(AUTOMAKE_VERSION).tar.gz
351
	$(EXTRACT_GZ)
352 353

.automake: automake
354 355
	(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
	touch $@
356 357 358 359 360 361 362 363 364

CLEAN_FILE += .automake
CLEAN_PKG += automake
DISTCLEAN_PKG += automake-$(AUTOMAKE_VERSION).tar.gz

# ***************************************************************************
# pkgconfig
# ***************************************************************************

365
pkg-config-$(PKGCFG_VERSION).tar.gz:
366
	$(WGET) $(PKGCFG_URL)
367

368
pkgconfig: pkg-config-$(PKGCFG_VERSION).tar.gz
369 370 371
	$(EXTRACT_GZ)
	patch -d pkgconfig/glib-1.2.8 -p 1 < Patches/glib.patch
	patch -d pkgconfig -p0 < Patches/pkgcfg.patch
372 373

.pkgcfg: pkgconfig
374 375
	(cd pkgconfig; autoconf && ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
	touch $@
376 377 378

CLEAN_FILE += .pkgcfg
CLEAN_PKG += pkgconfig
379
DISTCLEAN_PKG += pkg-config-$(PKGCFG_VERSION).tar.gz
380 381 382 383 384 385

# ***************************************************************************
# gettext
# ***************************************************************************

gettext-$(GETTEXT_VERSION).tar.gz:
386
	$(WGET) $(GETTEXT_URL)
387 388

gettext: gettext-$(GETTEXT_VERSION).tar.gz
389
	$(EXTRACT_GZ)
390
ifdef HAVE_WIN32
Rafaël Carré's avatar
Rafaël Carré committed
391
	patch -p0 < Patches/gettext-win32.patch
392
endif
VideoLAN's avatar
VideoLAN committed
393 394 395
ifdef HAVE_DARWIN_OS
	patch -p0 < Patches/gettext-macosx.patch
endif
396

397
.intl: gettext .iconv
398
ifdef HAVE_WIN32
399
	( cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-relocatable --with-iconv-prefix=$(PREFIX) --disable-java --disable-native-java)
400
else
401
	( cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-java --disable-native-java --without-emacs)
402
endif
403 404 405
ifeq ($(BUILD),i586-pc-beos)
# The ugliest kludge ever - so libtool correctly links shared libraries
# on BeOS. Sorry, I just can't figure out how libtool works
406
	( cd $< && for f in `find . -name libtool`; do  sed -e 's/ -shared / -nostart /' -e 's/^predep_objects.*/predep_objects=""/' -i  $$f; chmod +x $$f; done )
407 408
endif
ifneq ($(HOST),$(BUILD))
409 410
  ifndef HAVE_CYGWIN
    # We'll use the installed gettext and only need to cross-compile libintl, also build autopoint and gettextsize tools need for VLC bootstrap
411
	( cd $< && make -C gettext-runtime/intl && patch -p1 < ../Patches/libintl.patch && make -C gettext-runtime/intl install && make -C gettext-tools/misc install )
412 413 414 415
  else
    # We are compiling for MinGW on Cygwin -- build the full current gettext
	( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install )
  endif
416 417
else
# Build and install the whole gettext
418
	( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install )
419 420 421
endif
# Work around another non-sense of autoconf.
ifdef HAVE_WIN32
422
	(cd ../include; sed -i.orig '311 c #if 0' libintl.h)
423
endif
424 425
	$(INSTALL_NAME)
	touch $@
426 427 428 429 430 431 432 433 434 435

CLEAN_FILE += .intl
CLEAN_PKG += gettext
DISTCLEAN_PKG += gettext-$(GETTEXT_VERSION).tar.gz

# ***************************************************************************
# libiconv
# ***************************************************************************

libiconv-$(LIBICONV_VERSION).tar.gz:
436
	$(WGET) $(LIBICONV_URL)
437 438

libiconv: libiconv-$(LIBICONV_VERSION).tar.gz
439
	$(EXTRACT_GZ)
440
ifdef HAVE_DARWIN_OS
Rafaël Carré's avatar
Rafaël Carré committed
441
	patch -p0 < Patches/libiconv.patch
442
endif
443
	patch -p0 < Patches/libiconv-autoconf-uclibc.patch
444

445
ifdef HAVE_DARWIN_OS
446
.iconv:
447
	touch $@
448
else
449
.iconv: libiconv
450 451 452
	(cd libiconv; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls && make && make install)
	$(INSTALL_NAME)
	touch $@
453
endif
454 455 456 457 458

CLEAN_FILE += .iconv
CLEAN_PKG += libiconv
DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz

459 460 461 462 463 464 465
# ***************************************************************************
# fontconfig
# ***************************************************************************

fontconfig-$(FONTCONFIG_VERSION).tar.gz:
	$(WGET) $(FONTCONFIG_URL)

466
fontconfig: fontconfig-$(FONTCONFIG_VERSION).tar.gz Patches/fontconfig.patch
467 468
	$(EXTRACT_GZ)
	patch -p0 < Patches/fontconfig.patch
469
	patch -p0 < Patches/fontconfig-nodocs.patch
470

Rafaël Carré's avatar
Rafaël Carré committed
471
.fontconfig: fontconfig .xml .freetype
472 473
ifdef HAVE_WIN32
  ifdef HAVE_CYGWIN
474
	(cd $<; autoreconf && LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure --target=$(HOST) --disable-pic --disable-shared --disable-docs --with-cache-dir=WINDOWSTEMPDIR --with-arch=i686 --with-default-fonts=C:\\windows\fonts --with-add-fonts=C:\\winnt\fonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install)
475
  else
476
	(cd $<; autoreconf && $(HOSTCC) LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure $(HOSTCONF) --with-cache-dir=WINDOWSTEMPDIR --with-arch=i686 --with-default-fonts=C:\\windows\fonts --with-add-fonts=C:\\winnt\fonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 --disable-docs && make && make install)
477 478
  endif
else
479
  ifdef HAVE_DARWIN_OS
480
	(cd $<; autoreconf && $(HOSTCC) LIBXML2_CFLAGS=`xml2-config --cflags` LIBXML2_LIBS=`xml2-config --libs` ./configure $(HOSTCONF) --with-cache-dir=/var/cache/fontconfig --with-default-fonts=/System/Library/Fonts --with-add-fonts=/Library/Fonts,~/Library/Fonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 --disable-docs && make && make install-exec && (cd fontconfig ; make install-data) && cp fontconfig.pc $(PKG_CONFIG_LIBDIR))
481
  else
482
	(cd $<; autoreconf && $(HOSTCC) LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 --disable-docs && make && make install)
483
  endif
484 485 486 487 488 489 490 491
endif
	$(INSTALL_NAME)
	touch $@

CLEAN_FILE += .fontconfig
CLEAN_PKG += fontconfig
DISTCLEAN_PKG += fontconfig-$(FONTCONFIG_VERSION).tar.gz

492 493 494 495 496
# ***************************************************************************
# freetype2
# ***************************************************************************

freetype-$(FREETYPE2_VERSION).tar.gz:
497
	$(WGET) $(FREETYPE2_URL)
498 499

freetype2: freetype-$(FREETYPE2_VERSION).tar.gz
500
	$(EXTRACT_GZ)
501 502

.freetype: freetype2
503
ifdef HAVE_CYGWIN
504
	(cd $<; ./configure --target=$(HOST) --disable-pic --disable-shared --prefix=$(PREFIX) && make && make install)
505
else
506
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
507
endif
508 509
	$(INSTALL_NAME)
	touch $@
510 511 512 513 514 515 516 517 518

CLEAN_FILE += .freetype
CLEAN_PKG += freetype2
DISTCLEAN_PKG += freetype-$(FREETYPE2_VERSION).tar.gz

# ***************************************************************************
# fribidi
# ***************************************************************************

519
fribidi-$(FRIBIDI_VERSION).tar.gz:
520
	$(WGET) $(FRIBIDI_URL)
521

522 523
fribidi: fribidi-$(FRIBIDI_VERSION).tar.gz
	$(EXTRACT_GZ)
524
	patch -p0 < Patches/fribidi.patch
525

526
.fribidi: fribidi .iconv
527 528 529
	(cd $<; rm -f configure; ./bootstrap && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX)  && make && make install)
	$(INSTALL_NAME)
	touch $@
530 531 532

CLEAN_FILE += .fribidi
CLEAN_PKG += fribidi
533
DISTCLEAN_PKG += fribidi-$(FRIBIDI_VERSION).tar.gz
534 535 536 537 538 539

# ***************************************************************************
# liba52
# ***************************************************************************

a52dec-$(A52DEC_VERSION).tar.gz:
540
	$(WGET) $(A52DEC_URL)
541 542

a52dec: a52dec-$(A52DEC_VERSION).tar.gz
543
	$(EXTRACT_GZ)
544 545

.a52: a52dec
546 547
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && cd liba52 && make && make install && cd ../include && make && make install)
	touch $@
548 549 550 551 552 553 554 555 556 557

CLEAN_FILE += .a52
CLEAN_PKG += a52dec
DISTCLEAN_PKG += a52dec-$(A52DEC_VERSION).tar.gz

# ***************************************************************************
# mpeg2dec
# ***************************************************************************

#mpeg2dec:
558 559 560 561
#	@echo "*** Please press return here : ***"
#	cvs -d $(MPEG2DEC_CVSROOT) login
#	cvs -d $(MPEG2DEC_CVSROOT) co mpeg2dec
#	(cd $@; ./bootstrap)
562

Christophe Mutricy's avatar
Christophe Mutricy committed
563 564
libmpeg2-$(LIBMPEG2_VERSION).tar.gz:
	$(WGET) $(LIBMPEG2_URL)
565 566

# It is easier to use bootstrapped versions...
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
567
#mpeg2dec-$(MPEG2DEC_VERSION).tar.gz:
568 569
#	$(WGET) $(MPEG2DEC_SNAPSHOT)
#	mv mpeg2dec-$(MPEG2DEC_DATE).tar.gz $@
570

Christophe Mutricy's avatar
Christophe Mutricy committed
571
libmpeg2: libmpeg2-$(LIBMPEG2_VERSION).tar.gz
572
	$(EXTRACT_GZ)
573

Christophe Mutricy's avatar
Christophe Mutricy committed
574
.mpeg2: libmpeg2
575 576
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --without-x --disable-sdl && cd libmpeg2 && make && make install && cd ../include && make && make install)
	touch $@
577 578

CLEAN_FILE += .mpeg2
Christophe Mutricy's avatar
Christophe Mutricy committed
579
CLEAN_PKG += libmpeg2
580
#DISTCLEAN_PKG += mpeg2dec-$(MPEG2DEC_VERSION)-cvs.tar.gz
Christophe Mutricy's avatar
Christophe Mutricy committed
581
DISTCLEAN_PKG += libmpeg2-$(LIBMPEG2_VERSION).tar.gz
582 583 584 585 586 587

# ***************************************************************************
# libid3tag
# ***************************************************************************

libid3tag-$(LIBID3TAG_VERSION).tar.gz:
588
	$(WGET) $(LIBID3TAG_URL)
589 590

libid3tag: libid3tag-$(LIBID3TAG_VERSION).tar.gz
591
	$(EXTRACT_GZ)
592
	patch -d libid3tag -p0 < Patches/libid3tag-0.15.1b-fix-CVE-2008-2109.patch
593 594

.id3tag: libid3tag
595 596 597
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
	$(INSTALL_NAME)
	touch $@
598 599 600 601 602

CLEAN_FILE += .id3tag
CLEAN_PKG += libid3tag
DISTCLEAN_PKG += libid3tag-$(LIBID3TAG_VERSION).tar.gz

603 604 605 606 607 608 609 610 611 612 613
# ***************************************************************************
# pcre
# ***************************************************************************

pcre-$(PCRE_VERSION).tar.bz2:
	$(WGET) $(PCRE_URL)

pcre: pcre-$(PCRE_VERSION).tar.bz2
	$(EXTRACT_BZ2)

.pcre: pcre
Rafaël Carré's avatar
Rafaël Carré committed
614
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install )
615 616 617 618 619 620
	touch $@

CLEAN_FILE += .pcre
CLEAN_PKG += pcre
DISTCLEAN_PKG += pcre-$(PCRE_VERSION).tar.bz2

621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649
# ***************************************************************************
# lua
# ***************************************************************************

ifdef HAVE_WIN32
LUA_MAKEPLATEFORM=mingw
else
ifdef HAVE_DARWIN_OS
LUA_MAKEPLATEFORM=macosx
else
ifdef HAVE_LINUX
LUA_MAKEPLATEFORM=linux
else
ifdef HAVE_BSD
LUA_MAKEPLATEFORM=bsd
else
LUA_MAKEPLATEFORM=generic
endif
endif
endif
endif

lua-$(LUA_VERSION).tar.gz:
	$(WGET) $(LUA_URL)

lua: lua-$(LUA_VERSION).tar.gz
	$(EXTRACT_GZ)

.lua: lua
650
ifdef HAVE_WIN32
651
	( cd $<; sed -i.orig 's/lua luac/lua.exe/' Makefile ; cd src; sed -i.orig 's/CC=/#CC=/' Makefile; cd ../..;)
652 653
	(cd $<; $(HOSTCC) make $(LUA_MAKEPLATEFORM); cd src; $(HOSTCC) make liblua.a; cd ..;$(HOSTCC) make install INSTALL_TOP=$(PREFIX); $(RANLIB) $(PREFIX)/lib/liblua.a)
	(cd $<; sed -i.orig 's@prefix= /usr/local@prefix= $(PREFIX)@' etc/lua.pc; mkdir -p $(PREFIX)/lib/pkgconfig; cp etc/lua.pc $(PREFIX)/lib/pkgconfig)
654
else 
655
	(cd $<; $(HOSTCC) make $(LUA_MAKEPLATEFORM) && make install INSTALL_TOP=$(PREFIX))
656
endif
657 658 659 660 661 662
	touch $@

CLEAN_FILE += .lua
CLEAN_PKG += lua
DISTCLEAN_PKG += lua-$(LUA_VERSION).tar.gz

663 664 665 666 667
# ***************************************************************************
# libmad
# ***************************************************************************

libmad-$(LIBMAD_VERSION).tar.gz:
668
	$(WGET) $(LIBMAD_URL)
669 670

libmad: libmad-$(LIBMAD_VERSION).tar.gz
671
	$(EXTRACT_GZ)
672 673

.mad: libmad
674 675 676
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && make && make install)
	$(INSTALL_NAME)
	touch $@
677 678 679 680 681 682 683 684 685 686

CLEAN_FILE += .mad
CLEAN_PKG += libmad
DISTCLEAN_PKG += libmad-$(LIBMAD_VERSION).tar.gz

# ***************************************************************************
# ogg
# ***************************************************************************

libogg-$(OGG_VERSION).tar.gz:
687
	$(WGET) $(OGG_URL)
688 689

libogg: libogg-$(OGG_VERSION).tar.gz
690
	$(EXTRACT_GZ)
Rafaël Carré's avatar
Rafaël Carré committed
691 692
	patch -p0 < Patches/ogg.patch
	patch -p0 < Patches/libogg-1.1.patch
693
ifdef HAVE_WINCE
Rafaël Carré's avatar
Rafaël Carré committed
694
	patch -p0 < Patches/libogg-wince.patch
695
endif
696
	(cd $@; autoconf)
697 698

.ogg: libogg
699 700 701
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make install)
	$(INSTALL_NAME)
	touch $@
702 703 704 705 706 707 708 709 710 711

CLEAN_FILE += .ogg
CLEAN_PKG += libogg
DISTCLEAN_PKG += libogg-$(OGG_VERSION).tar.gz

# ***************************************************************************
# vorbis
# ***************************************************************************

#vorbis:
712 713 714 715
#	@echo "*** Please type \"anoncvs\" here : ***"
#	cvs -d $(OGG_CVSROOT) login
#	cvs -d $(OGG_CVSROOT) co vorbis
#	(cd $@; ./autogen.sh)
716 717

libvorbis-$(VORBIS_VERSION).tar.gz:
718
	$(WGET) $(VORBIS_URL)
719 720

libvorbis: libvorbis-$(VORBIS_VERSION).tar.gz
721
	$(EXTRACT_GZ)
722
	patch -p0 < Patches/libvorbis.patch
723 724 725
	patch -d libvorbis -p0 < Patches/libvorbis-r14598-CVE-2008-1420.patch
	patch -d libvorbis -p0 < Patches/libvorbis-r14602-CVE-2008-1419.patch
	patch -d libvorbis -p0 < Patches/libvorbis-r14602-CVE-2008-1423.patch
726
	(cd $@; autoconf)
727 728

.vorbis: libvorbis .ogg
729 730
# FIXME: shared libs disabled for now because of linking errors
#   -- titer 2005/09/16
731 732 733
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install)
#	$(INSTALL_NAME)
	touch $@
734 735

.vorbisenc: .vorbis .ogg
736 737
#	$(INSTALL_NAME)
	touch $@
738 739 740 741 742

CLEAN_FILE += .vorbis .vorbisenc
CLEAN_PKG += libvorbis
DISTCLEAN_PKG += libvorbis-$(VORBIS_VERSION).tar.gz

743 744 745 746 747 748
# ***************************************************************************
# tremor
# ***************************************************************************

ifdef SVN
tremor: 
749
	$(SVN) co http://svn.xiph.org/trunk/Tremor tremor
750 751
	(cd $@ && patch -p0 < ../Patches/tremor.patch)
	(cd $@; rm -f ogg.h && echo "#include <ogg/ogg.h>" > ogg.h && rm -f os_types.h && echo "#include <ogg/os_types.h>" > os_types.h && ./autogen.sh)
752 753
else
tremor-$(TREMOR_VERSION).tar.bz2:
754 755
	echo "tremor snapshot does not exist, you MUST use subversion !"
	exit -1
756
	$(WGET) $(TREMOR_URL)
757 758

tremor: tremor-$(TREMOR_VERSION).tar.bz2
759
	$(EXTRACT_BZ2)
760 761 762
endif

.tremor: tremor .ogg
763 764 765
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install)
	$(INSTALL_NAME)
	touch $@
766

767 768
ifdef SVN
tremor-source: tremor
769
	tar cfvz tremor-$(DATE).tar.gz tremor
770 771 772 773

SOURCE += tremor-source
endif

774 775
CLEAN_FILE += .tremor
CLEAN_PKG += tremor
776
#DISTCLEAN_PKG += tremor-$(TREMOR_VERSION).tar.bz2 #no tremor snapshot
777

778 779 780 781 782
# ***************************************************************************
# theora
# ***************************************************************************

libtheora-$(THEORA_VERSION).tar.bz2:
783
	$(WGET) $(THEORA_URL)
784 785

libtheora: libtheora-$(THEORA_VERSION).tar.bz2
786 787
	$(EXTRACT_BZ2)
	patch -p0 < Patches/theora.patch
788
	patch -p0 < Patches/libtheora-includes.patch
789
	(cd $@; autoconf)
790

791
.theora: libtheora .ogg
792
ifdef HAVE_BEOS
793
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest --disable-asm --disable-examples && make && make install)
794
else
795
  ifdef NO_TEXT_RELOCATION
796 797
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm --disable-sdltest --disable-oggtest --disable-vorbistest --disable-asm --disable-examples && make && make install)
  else
798
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest --disable-examples && make && make install)
799
  endif
800
endif
801 802
	$(INSTALL_NAME)
	touch $@
803 804 805 806 807

CLEAN_FILE += .theora
CLEAN_PKG += libtheora
DISTCLEAN_PKG += libtheora-$(THEORA_VERSION).tar.bz2

Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
808 809 810 811 812
# ***************************************************************************
# shout
# ***************************************************************************

libshout-$(SHOUT_VERSION).tar.gz:
813
	$(WGET) $(SHOUT_URL)
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
814 815

libshout: libshout-$(SHOUT_VERSION).tar.gz
816
	$(EXTRACT_GZ)
Christophe Mutricy's avatar
Christophe Mutricy committed
817
ifdef HAVE_WIN32
818
	patch -p0 < Patches/libshout-win32.patch
819
	(cd $@; autoreconf && automake)
Christophe Mutricy's avatar
Christophe Mutricy committed
820 821
endif
  
822
.shout: libshout .theora .ogg .speex .vorbis
823 824 825
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) &&  make && make install )
	$(INSTALL_NAME)
	touch $@
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
826 827 828 829 830

CLEAN_FILE += .shout
CLEAN_PKG += libshout
DISTCLEAN_PKG += libshout-$(SHOUT_VERSION).tar.gz

831 832 833 834 835
# ***************************************************************************
# flac
# ***************************************************************************

flac-$(FLAC_VERSION).tar.gz:
836
	$(WGET) $(FLAC_URL)
837 838

flac: flac-$(FLAC_VERSION).tar.gz
839
	$(EXTRACT_GZ)
840
ifdef HAVE_WIN32
841
	patch -p0 < Patches/flac-win32.patch
842
endif
843 844

FLAC_DISABLE_FLAGS = --disable-oggtest --disable-xmms-plugin --disable-cpplibs
845

Damien Fouilleul's avatar
Damien Fouilleul committed
846
.flac: flac .ogg 
847
ifdef HAVE_WIN32
848
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src&& make -C libFLAC&& make -C libFLAC install && cd .. && make -C include install)
849
else
850
ifdef HAVE_DARWIN_OS
851
ifdef HAVE_DARWIN_OS_ON_INTEL
852
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm-optimizations && cd src && make -C libFLAC && make -C libFLAC install  && cd .. && make -C include install)
853
else
854
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src && make -C libFLAC && make -C libFLAC install  && cd .. && make -C include install)
855
endif
856
else
857
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX)  $(FLAC_DISABLE_FLAGS) && cd src && make -C libFLAC && make -C libFLAC install  && cd .. && make -C include install)
858
endif
859
endif
860 861
	$(INSTALL_NAME)
	touch $@
862

Damien Fouilleul's avatar
Damien Fouilleul committed
863
CLEAN_FILE += .flac
864 865 866 867 868 869 870 871
CLEAN_PKG += flac
DISTCLEAN_PKG += flac-$(FLAC_VERSION).tar.gz

# ***************************************************************************
# speex
# ***************************************************************************

speex-$(SPEEX_VERSION).tar.gz:
872
	$(WGET) $(SPEEX_URL)
873 874

speex: speex-$(SPEEX_VERSION).tar.gz
875 876
	$(EXTRACT_GZ)
	patch -p0 < Patches/speex.patch
877
ifdef HAVE_BEOS
878
	patch -p0 < Patches/speex-BeOS.patch
879
endif
880 881

.speex: speex
882 883 884
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-ogg=no && make && make install)
	$(INSTALL_NAME)
	touch $@
885 886 887 888 889 890 891 892 893

CLEAN_FILE += .speex
CLEAN_PKG += speex
DISTCLEAN_PKG += speex-$(SPEEX_VERSION).tar.gz

# ***************************************************************************
# faad2
# ***************************************************************************

894
faad2-$(FAAD2_VERSION).tar.gz:
895
	$(WGET) $(FAAD2_URL)
896

897 898 899
faad2: faad2-$(FAAD2_VERSION).tar.gz
	$(EXTRACT_GZ)
	(cd $@; ./bootstrap)
900

901
.faad: faad2
902
	(cd $< && $(HOSTCC) ./configure $(HOSTCONF) --disable-shared --prefix=$(PREFIX) CFLAGS="-O3" && sed -i.orig "s/shrext_cmds/shrext/g" libtool && make -C libfaad && make -C libfaad install)
903
	touch $@
904 905

CLEAN_FILE += .faad
906 907
CLEAN_PKG += faad2
DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz
908 909 910 911 912

# ***************************************************************************
# faac
# ***************************************************************************

913
faac-$(FAAC_VERSION).tar.gz:
914
	$(WGET) $(FAAC_URL)
915

916 917
faac: faac-$(FAAC_VERSION).tar.gz
	$(EXTRACT_GZ)
918 919

.faac: faac
920
	(cd $<; ./bootstrap && $(HOSTCC) ./configure $(HOSTCONF) --without-mp4v2 --prefix=$(PREFIX) --disable-shared && make && make install)
921
	touch $@
922 923 924

CLEAN_FILE += .faac
CLEAN_PKG += faac
925
DISTCLEAN_PKG += faac-$(FAAC_VERSION).tar.gz
926 927 928 929 930 931

# ***************************************************************************
# lame
# ***************************************************************************

lame-$(LAME_VERSION).tar.gz:
932
	$(WGET) $(LAME_URL)
933 934

lame: lame-$(LAME_VERSION).tar.gz
935
	$(EXTRACT_GZ)
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
936
	patch -p0 < Patches/libmp3lame-mingw32.patch
937 938

.lame: lame
939 940
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-analyser-hooks --disable-decoder --disable-shared --disable-gtktest --disable-frontend && make && make install)
	touch $@
941 942 943 944 945 946 947 948 949 950

CLEAN_FILE += .lame
CLEAN_PKG += lame
DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz

# ***************************************************************************
# libebml
# ***************************************************************************

libebml-$(LIBEBML_VERSION).tar.bz2:
951
	$(WGET) $(LIBEBML_URL)
952

953 954 955
## No reasons to use SVN anymore
#ifdef SVN
#libebml:
956
#	$(SVN) co http://svn.matroska.org/svn/matroska/trunk/libebml libebml
957
#else
958
libebml: libebml-$(LIBEBML_VERSION).tar.bz2
959
	$(EXTRACT_BZ2)
960 961
#endif

962
ifdef HAVE_WIN32
Rafaël Carré's avatar
Rafaël Carré committed
963
	(cd $@; patch -p0 < ../Patches/libebml-svn-win32.patch)
964
endif
965 966

.ebml: libebml
967
ifdef HAVE_WIN32
968
	(cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC2) CFLAGS="$(CFLAGS) -DWIN32" SHARED=no && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC2))
969
else
970 971 972 973
	(cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX))
	$(RANLIB) $(PREFIX)/lib/libebml.a
endif	
	touch $@
974 975 976 977 978 979
## No reasons to use SVN anymore
#ifdef SVN
#libebml-source: libebml
#	tar cfvz  libebml-$(DATE).tar.gz libebml
#SOURCE += libebml-source	
#endif
980

981 982 983 984 985 986 987 988
CLEAN_FILE += .ebml
CLEAN_PKG += libebml
DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.bz2

# ***************************************************************************
# libmatroska
# ***************************************************************************

989 990 991
libmatroska-$(LIBMATROSKA_VERSION).tar.bz2:
	$(WGET) $(LIBMATROSKA_URL)

992 993 994
## No reasons to use SVN anymore
#if SVN
#libmatroska:
995
#	$(SVN) co http://svn.matroska.org/svn/matroska/trunk/libmatroska libmatroska
996
#else
997
libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
998
	$(EXTRACT_BZ2)
999 1000
#endif 

1001
ifdef HAVE_WIN32
Rafaël Carré's avatar
Rafaël Carré committed
1002
	(cd $@; patch -p0 < ../Patches/libmatroska-win32.patch)
1003
endif
1004

1005 1006
.matroska: libmatroska .ebml
ifdef HAVE_WIN32
1007
	(cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC2) SHARED=no EBML_DLL=no libmatroska.a && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC2))
1008
else
1009 1010
	(cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX))
	$(RANLIB) $(PREFIX)/lib/libmatroska.a
1011
endif
1012
	touch $@
1013

1014 1015 1016 1017 1018 1019 1020
## No reasons to use SVN anymore
#ifdef SVN
#libmatroska-source: libmatroska
#	tar cfvz libmatroska-$(DATE).tar.gz libmatroska
#
#SOURCE += libmatroska-source
#endif
1021

1022 1023 1024 1025 1026
CLEAN_FILE += .matroska
CLEAN_PKG += libmatroska
DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2

# ***************************************************************************
1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060
# libamrnb
# ***************************************************************************

amrnb-$(LIBAMR_NB_VERSION).tar.bz2:
	$(WGET) $(LIBAMR_NB)

libamrnb: amrnb-$(LIBAMR_NB_VERSION).tar.bz2
	$(EXTRACT_BZ2)

.libamrnb: libamrnb
	(cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --enable-shared && make && make install)
	touch $@

CLEAN_FILE += .libamrnb
CLEAN_PKG += libamrnb
DISTCLEAN_PKG += amrnb-$(LIBAMR_NB_VERSION).tar.bz2

# ***************************************************************************
# libamrwb
# ***************************************************************************

amrwb-$(LIBAMR_WB_VERSION).tar.bz2:
	$(WGET) $(LIBAMR_WB)

libamrwb: amrwb-$(LIBAMR_WB_VERSION).tar.bz2
	$(EXTRACT_BZ2)

.libamrwb: libamrwb
	(cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --enable-shared && make && make install)
	touch $@


CLEAN_FILE += .libamrwb
CLEAN_PKG += libamrwb
1061
DISTCLEAN_PKG += amrwb-$(LIBAMR_WB_VERSION).tar.bz2
1062 1063 1064

# ***************************************************************************

1065 1066 1067
# ffmpeg
# ***************************************************************************

1068
ifdef SVN
1069
ffmpeg:
1070
	$(SVN) co $(FFMPEG_SVN) ffmpeg -r 15261
1071
ifeq ($(HOST),i586-pc-beos)
Rafaël Carré's avatar
Rafaël Carré committed
1072
	(cd $@; patch -p0 < ../Patches/ffmpeg-svn-beos.patch)
1073
endif
1074
ifdef HAVE_WINCE
Rafaël Carré's avatar
Rafaël Carré committed
1075
	patch -p1 < Patches/ffmpeg-svn-wince.patch
1076
endif
1077 1078 1079
ifdef HAVE_BEOS
	(cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch)
endif
1080
ifdef HAVE_DARWIN_OS_ON_INTEL
1081
	(cd $@; patch -p0 < ../Patches/ffmpeg-macosx-intel-mmx.patch)
1082 1083
endif
ifdef HAVE_DARWIN_OS
1084
	(cd $@/libswscale; patch -p0 < ../../Patches/ffmpeg-fix-noaltivec.patch)
1085
endif
1086
ifdef NO_TEXT_RELOCATION
1087
	(cd $@; patch -p0 < ../Patches/ffmpeg-svn-mmx_removal-darwin9.patch)
1088
endif
1089
ifdef HAVE_UCLIBC
1090 1091
	patch -p0 < Patches/ffmpeg-svn-uclibc.patch
	patch -p0 < Patches/ffmpeg-svn-internal-define.patch
1092
	patch -p0 < Patches/ffmpeg-svn-libavformat.patch
1093
endif
1094
else
1095
ffmpeg-$(FFMPEG_VERSION).tar.gz:
1096 1097
	echo "ffmpeg snapshot is too old, you MUST use subversion !"
	exit -1
1098
	$(WGET) $(FFMPEG_URL)
1099

1100 1101 1102
ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz
	$(EXTRACT_GZ)
endif
1103

1104
ifdef HAVE_WINCE
1105
.ffmpeg: ffmpeg .zlib
1106
else
1107 1108 1109
ifdef HAVE_UCLIBC
.ffmpeg: ffmpeg
else
1110 1111
.ffmpeg: ffmpeg .faac .lame
endif
1112
endif
1113

1114
	(cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-postproc --disable-vhook --disable-ffserver --disable-ffmpeg --disable-ffplay --disable-devices --disable-protocols --disable-shared --enable-static && make && make install-libs install-headers)
1115
	touch $@
1116

1117 1118
ifdef SVN
ffmpeg-source: ffmpeg
1119
	tar cfvz ffmpeg-$(DATE).tar.gz ffmpeg
1120 1121 1122 1123

SOURCE += ffmpeg-source
endif

1124
CLEAN_FILE += .ffmpeg
1125
CLEAN_PKG += ffmpeg
1126 1127 1128 1129 1130 1131
DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz

# ***************************************************************************
# libdvdcss
# ***************************************************************************

1132 1133 1134
libdvdcss-$(LIBDVDCSS_VERSION).tar.gz:
	$(WGET) $(LIBDVDCSS_URL)

1135 1136
ifdef SVN
libdvdcss: 
1137
	$(SVN) co svn://svn.videolan.org/libdvdcss/trunk libdvdcss
1138
	cd $@ && sh bootstrap
1139
else
1140
libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
1141
	$(EXTRACT_GZ)
1142
endif
1143 1144

.dvdcss: libdvdcss
1145 1146 1147
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --disable-doc --prefix=$(PREFIX) && make && make install)
	$(INSTALL_NAME)
	touch $@
1148

1149 1150
ifdef SVN
libdvdcss-source: libdvdcss
1151
	tar cfvz libdvdcss-$(DATE).tar.gz libdvdcss
1152 1153 1154 1155

SOURCE += libdvdcss-source
endif

1156 1157 1158 1159
CLEAN_FILE += .dvdcss
CLEAN_PKG += libdvdcss
DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz

1160 1161 1162
# ***************************************************************************
# dummy dvdread to trigger the INSTALL_NAME script
# ***************************************************************************
1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173
# .dvdread: .dvdnav
# 	$(INSTALL_NAME)
# 	touch $@
# 
# CLEAN_FILE += .dvdread

# ***************************************************************************
# libdvdread: We use dvdnav's dvdread
# ***************************************************************************


1174 1175 1176
libdvdread: 
	$(SVN) co $(LIBDVDREAD_SVN)  libdvdread
	(cd $@; patch  -p 0 < ../Patches/libdvdread.patch)
1177
#ifdef HAVE_WIN32
1178
	(cd $@; patch  -p 0 < ../Patches/libdvdread-win32.patch)
1179
#endif
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
1180
	(cd $@; sh autogen.sh noconfig)
1181 1182

.libdvdread: libdvdread .dvdcss
1183
	(cd libdvdread; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
1184 1185
	$(INSTALL_NAME)
	touch $@
1186

1187 1188
CLEAN_FILE += .libdvdread
CLEAN_PKG += libdvdread
1189
#DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.gz
1190 1191 1192 1193 1194

# ***************************************************************************
# libdvdnav
# ***************************************************************************

1195 1196
ifdef SVN
libdvdnav:
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
1197
	$(SVN) co $(LIBDVDNAV_SVN)  libdvdnav
1198
	patch -d libdvdnav -p0 < Patches/libdvdnav.patch
1199 1200
	(cd $@; ./autogen.sh noconfig)
else
1201
libdvdnav-$(LIBDVDNAV_VERSION).tar.gz:
1202
	$(WGET) $(LIBDVDNAV_URL)
1203

1204 1205
libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
	$(EXTRACT_GZ)
1206
	patch -p0 < Patches/libdvdnav.patch
1207 1208 1209
ifdef HAVE_WIN32
	patch -p0 < Patches/libdvdnav-win32.patch
endif
1210
	(cd $@; ./autogen.sh noconfig)
1211
endif
1212

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
1213
.dvdnav: libdvdnav .libdvdread
1214
ifdef HAVE_WIN32	
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
1215
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) && make && make install)
1216
else
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
1217
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
1218
endif
1219 1220
	$(INSTALL_NAME)
	touch $@
1221 1222 1223

CLEAN_FILE += .dvdnav
CLEAN_PKG += libdvdnav
1224
DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2
1225 1226 1227 1228 1229

# ***************************************************************************
# libdvbpsi
# ***************************************************************************

1230
libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz:
1231
	$(WGET) $(LIBDVBPSI_URL)
1232

1233
libdvbpsi: libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
1234
	$(EXTRACT_GZ)
1235 1236

.dvbpsi: libdvbpsi
1237 1238 1239
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && cd src && make && make install)
	$(INSTALL_NAME)
	touch $@
1240 1241 1242

CLEAN_FILE += .dvbpsi
CLEAN_PKG += libdvbpsi
1243
DISTCLEAN_PKG += libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
1244 1245 1246 1247 1248

# ***************************************************************************
# live
# ***************************************************************************

1249
live555-$(LIVEDOTCOM_VERSION).tar.gz:
1250
	$(WGET) $(LIVEDOTCOM_URL)
1251

1252
live: live555-$(LIVEDOTCOM_VERSION).tar.gz
1253
	$(EXTRACT_GZ)
1254
	patch -p0 < Patches/live-noapps.patch
1255
	patch -p0 < Patches/live-uselocale.patch
1256 1257

.live: live
1258 1259 1260
ifdef HAVE_WIN32  
	(cd $<;./genMakefiles mingw && make $(HOSTCC)) 
else 
1261
ifdef HAVE_DARWIN_OS
1262 1263
	(cd $<; sed -e 's%EXTRA_CFLAGS%$(EXTRA_CFLAGS)%' -e 's%EXTRA_LDFLAGS%$(EXTRA_LDFLAGS)%' -i.orig  config.macosx)
	(cd $<; ./genMakefiles macosx && make)
1264
else
1265
	(cd $<; sed -e 's/=/= EXTRA_CPPFLAGS/' -e 's%EXTRA_CPPFLAGS%-I/include%' -i.orig groupsock/Makefile.head)
1266 1267 1268 1269 1270
ifdef HAVE_UCLIBC
ifdef HAVE_BIGENDIAN
	(cd $<; ./genMakefiles armeb-uclibc && make $(HOSTCC))
endif
else
1271
	(cd $<; ./genMakefiles linux && make $(HOSTCC))
1272
endif
1273
endif
1274
endif
1275 1276 1277 1278 1279 1280 1281 1282
	cp $</groupsock/libgroupsock.a $(PREFIX)/lib
	cp $</liveMedia/libliveMedia.a $(PREFIX)/lib
	cp $</UsageEnvironment/libUsageEnvironment.a $(PREFIX)/lib
	cp $</BasicUsageEnvironment/libBasicUsageEnvironment.a $(PREFIX)/lib
	cp $</groupsock/include/*.hh $</groupsock/include/*.h $(PREFIX)/include
	cp $</liveMedia/include/*.hh $(PREFIX)/include
	cp $</UsageEnvironment/include/*.hh $(PREFIX)/include
	cp $</BasicUsageEnvironment/include/*.hh $(PREFIX)/include
1283
	touch $@
1284 1285 1286

CLEAN_FILE += .live
CLEAN_PKG += live
1287
DISTCLEAN_PKG += live555-$(LIVEDOTCOM_VERSION).tar.gz
1288 1289 1290 1291 1292 1293

# ***************************************************************************
# goom2k4
# ***************************************************************************

goom$(GOOM2k4_VERSION).tar.gz:
1294 1295
	$(WGET) $(GOOM2k4_URL)
	mv goom-$(GOOM2k4_VERSION)-src.tar.gz goom$(GOOM2k4_VERSION).tar.gz
1296 1297

goom: goom$(GOOM2k4_VERSION).tar.gz
1298
	$(EXTRACT_GZ)
1299
ifdef HAVE_DARWIN_OS
Rafaël Carré's avatar
Rafaël Carré committed
1300
	patch -p0 < Patches/goom.patch
1301 1302
endif
ifdef HAVE_WIN32
1303
	(cd $@; dos2unix configure.in)
Rafaël Carré's avatar
Rafaël Carré committed
1304
	patch -p0 < Patches/goom2k4-0-win32.patch
1305 1306
else
	patch -p0 < Patches/goom2k4-0-mmx.patch
1307
endif
1308 1309

.goom2k4: goom
1310
ifdef HAVE_DARWIN_OS
1311
	(cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
1312
else
1313
	(cd $< && rm -f configure; aclocal -I m4/ && automake --add-missing && autoconf configure.in > configure && $(HOSTCC) sh ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static --disable-glibtest --disable-gtktest && make && make install)
1314
endif
1315
	touch $@
1316 1317 1318

CLEAN_FILE += .goom2k4
CLEAN_PKG += goom
1319
DISTCLEAN_PKG += goom$(GOOM2k4_VERSION).tar.gz
1320 1321 1322 1323 1324 1325

# ***************************************************************************
# libcaca
# ***************************************************************************

libcaca-$(LIBCACA_VERSION).tar.gz:
1326
	$(WGET) $(LIBCACA_URL)
1327 1328

libcaca: libcaca-$(LIBCACA_VERSION).tar.gz
1329
	$(EXTRACT_GZ)
1330 1331 1332 1333
ifdef HAVE_DARWIN_OS
	#remove me at next libcaca upgrade
	patch -p0 < Patches/caca_driver_cocoa.diff
	patch -p0 < Patches/caca_macosx.diff
1334 1335 1336
ifndef HAVE_DARWIN_OS_ON_INTEL
	patch -p0 < Patches/caca-osx-ppc.patch
endif
1337
endif
1338 1339

.caca: libcaca
1340
ifdef HAVE_WIN32
1341
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-win32 --disable-x11 --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && make && make install)
1342
else
1343
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && make && make install)
1344
endif
1345
	touch $@
1346 1347 1348 1349 1350 1351

CLEAN_FILE += .caca
CLEAN_PKG += libcaca
DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz

# ***************************************************************************
Antoine Cellerier's avatar
Antoine Cellerier committed
1352
# libdca
1353 1354
# ***************************************************************************

1355 1356 1357 1358 1359
libdca-$(LIBDCA_VERSION).tar.bz2:
	$(WGET) $(LIBDCA_URL)

libdca: libdca-$(LIBDCA_VERSION).tar.bz2
	$(EXTRACT_BZ2)
1360

1361
.dca: libdca
1362
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
1363
	$(INSTALL_NAME)
1364
	touch $@
1365

1366
CLEAN_FILE += .dca
Antoine Cellerier's avatar
Antoine Cellerier committed
1367
CLEAN_PKG += libdca
1368
DISTCLEAN_PKG += libdca-$(LIBDCA_VERSION).tar.bz2
1369

1370
# ***************************************************************************
1371
# libx264
1372 1373
# ***************************************************************************

1374 1375 1376
x264-$(X264_VERSION).tar.gz:
	$(WGET) $(X264_URL)

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389
ifdef GIT
x264:
	$(GIT) clone git://git.videolan.org/x264.git
	patch -p0 < Patches/x264-svn-info-threads.patch
ifdef HAVE_WIN32
	(cd x264; patch -p0 < ../Patches/x264-svn-win32.patch )
endif
ifdef HAVE_DARWIN_OS
	(cd $@; patch -p0 < ../Patches/x264-svn-darwin.patch )
endif

else

1390
x264: x264-$(X264_VERSION).tar.gz
1391
	$(EXTRACT_GZ)
1392
ifdef HAVE_WIN32
1393
  ifndef HAVE_CYGWIN
Rafaël Carré's avatar
Rafaël Carré committed
1394
	(cd x264;patch -p0 <../Patches/x264-20050624-win32.patch)
1395
  endif
1396
else
Rafaël Carré's avatar
Rafaël Carré committed
1397
	patch -p0 < Patches/x264.patch
1398
	rm x264/x264.c
1399
endif
1400
endif
1401

1402 1403
ifdef HAVE_WIN32
.x264: x264 .pthreads
1404 1405 1406
  ifdef HAVE_CYGWIN
	(cd $<; $(HOSTCC) RANLIB="ranlib" AR="ar" STRIP="strip" ./configure $(X264CONF) --prefix="$(PREFIX)" --extra-cflags="-I$(PREFIX)/include" --extra-ldflags="-L$(PREFIX)/lib" && make && make install)
  else
1407
	(cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
1408
  endif
1409
else
1410 1411 1412 1413 1414
ifdef HAVE_DARWIN_OS_ON_INTEL
  .x264: x264 .yasm
	(cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
else
  .x264: x264
1415
	(cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
1416
endif
1417
endif
1418
	touch $@
1419

1420
ifdef SVN
1421 1422
x264-source: x264
	tar cfvz x264-$(DATE).tar.gz x264
1423

1424
SOURCE += x264-source
1425 1426
endif

1427 1428 1429 1430
CLEAN_FILE += .x264
CLEAN_PKG += x264
DISTCLEAN_PKG += x264-$(X264_VERSION).tar.gz

1431 1432 1433 1434 1435
# ***************************************************************************
# libmodplug
# ***************************************************************************

libmodplug-$(MODPLUG_VERSION).tar.gz:
1436
	$(WGET) $(MODPLUG_URL)
1437 1438

libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz
1439
	$(EXTRACT_GZ)
1440 1441 1442
#ifdef HAVE_WIN32
	patch -p0 < Patches/libmodplug-win32.patch
#end
1443 1444

.mod: libmodplug
1445 1446
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
	touch $@
1447 1448 1449 1450 1451 1452 1453 1454 1455

CLEAN_FILE += .mod
CLEAN_PKG += libmodplug
DISTCLEAN_PKG += libmodplug-$(MODPLUG_VERSION).tar.gz

# ***************************************************************************
# libcddb
# ***************************************************************************

1456
libcddb-$(CDDB_VERSION).tar.bz2:
1457
	$(WGET) $(CDDB_URL)
1458

1459
libcddb: libcddb-$(CDDB_VERSION).tar.bz2
1460
	$(EXTRACT_BZ2)
1461 1462

.cddb: libcddb
1463 1464
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" LDFLAGS="$(LDFLAGS) -liconv" && make && make install)
	touch $@
1465 1466 1467

CLEAN_FILE += .cddb
CLEAN_PKG += libcddb
1468
DISTCLEAN_PKG += libcddb-$(CDDB_VERSION).tar.bz2
1469 1470 1471 1472 1473 1474

# ***************************************************************************
# vcdimager
# ***************************************************************************

vcdimager-$(VCDIMAGER_VERSION).tar.gz:
1475
	$(WGET) $(VCDIMAGER_URL)
1476 1477

vcdimager: vcdimager-$(VCDIMAGER_VERSION).tar.gz
1478
	$(EXTRACT_GZ)
1479 1480 1481

ifdef HAVE_DARWIN_OS
.vcdimager: vcdimager
1482 1483
	(cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static LDFLAGS="$(LDFLAGS) -framework CoreFoundation -framework IOKit" && make && make install)
	touch $@
1484 1485
else
.vcdimager: vcdimager
1486 1487
	(cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
	touch $@
1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498
endif

CLEAN_FILE += .vcdimager
CLEAN_PKG += vcdimager
DISTCLEAN_PKG += vcdimager-$(VCDIMAGER_VERSION).tar.gz

# ***************************************************************************
# libcdio
# ***************************************************************************

libcdio-$(CDIO_VERSION).tar.gz:
1499
	$(WGET) $(CDIO_URL)
1500 1501

libcdio: libcdio-$(CDIO_VERSION).tar.gz
1502
	$(EXTRACT_GZ)
1503
	patch -p0 < Patches/libcdio-install-cdparanoia-pc.patch
1504 1505

.cdio: libcdio
1506
	(cd $<; sed -e 's%@ENABLE_CPP_TRUE@SUBDIRS = C++%@ENABLE_CPP_TRUE@SUBDIRS = %' -i.orig example/Makefile.in && autoreconf -fisv && ./configure --prefix=$(PREFIX) --without-vcdinfo --disable-shared && make && make install)
1507
	touch $@
1508 1509 1510 1511 1512

CLEAN_FILE += .cdio
CLEAN_PKG += libcdio
DISTCLEAN_PKG += libcdio-$(CDIO_VERSION).tar.gz

1513 1514 1515 1516 1517
# ***************************************************************************
# wxWidgets
# ***************************************************************************

wxWidgets-$(WXWIDGETS_VERSION).tar.gz:
1518
	$(WGET) $(WXWIDGETS_URL)
1519 1520

wxwidgets: wxWidgets-$(WXWIDGETS_VERSION).tar.gz
1521 1522
	$(EXTRACT_GZ)
	(cd wxwidgets; patch -p0 < ../Patches/wxwidgets_uri.patch)
1523 1524

.wxwidgets: wxwidgets
1525 1526 1527
	(cd wxwidgets; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-optimise --disable-debug --enable-unicode --disable-threads --disable-gif --disable-pcx --disable-iff --disable-pnm --without-zlib  --without-libpng --without-libjpeg --without-libtiff --without-regex  --disable-zipstream --disable-fs_zip --enable-no_rtti  --enable-no_exceptions --disable-exceptions --disable-stl --disable-html --without-expat --disable-protocols --disable-protocol --disable-xrc --disable-sound --disable-dialupman --disable-mediactrl  --disable-joystick --disable-grid --disable-datepick --disable-postscript--disable-filesystem --disable-fileproto --disable-ipc --disable-sockets --disable-precomp-headers && make && make install)
	$(INSTALL_NAME)
	touch $@
1528 1529 1530 1531 1532

CLEAN_FILE += .wxwidgets
CLEAN_PKG += wxwidgets
DISTCLEAN_PKG += wxWidgets-$(WXWIDGETS_VERSION).tar.gz

1533 1534 1535 1536
# ***************************************************************************
# qt4 (win32 binary)
# ***************************************************************************

1537
qt4-$(QT4_VERSION)-win32-bin.tar.bz2:
1538
	$(WGET) $(QT4_URL)
Clément Stenac's avatar
Clément Stenac committed
1539

1540
qt4_win32: qt4-$(QT4_VERSION)-win32-bin.tar.bz2
1541
	$(EXTRACT_BZ2)
1542
	chmod -R 755 qt4_win32
Clément Stenac's avatar
Clément Stenac committed
1543

1544
.qt4_win32: qt4_win32
1545
	(cd qt4_win32;mkdir -p $(PREFIX)/bin; mkdir -p $(PREFIX)/include;mkdir -p $(PREFIX)/lib/pkgconfig;rm -f $(PREFIX)/lib/pkgconfig/Qt*; sed 's,@@PREFIX@@,$(PREFIX),' lib/pkgconfig/QtCore.pc.in > $(PREFIX)/lib/pkgconfig/QtCore.pc;sed 's,@@PREFIX@@,$(PREFIX),' lib/pkgconfig/QtGui.pc.in > $(PREFIX)/lib/pkgconfig/QtGui.pc;cp -r include/* $(PREFIX)/include;cp lib/*a $(PREFIX)/lib)
1546
ifeq ($(BUILD),i686-pc-cygwin)
1547
	(cd qt4_win32;cp bin/*.exe $(PREFIX)/bin)
1548
else
1549
	(cd qt4_win32;cp bin/* $(PREFIX)/bin)
1550
endif
1551
	touch $@
Clément Stenac's avatar
Clément Stenac committed
1552

1553 1554
CLEAN_FILE += .qt4_win32
CLEAN_PKG += qt4_win32
1555
DISTCLEAN_PKG += qt4-$(QT4_VERSION)-win32-bin.tar.bz2
Clément Stenac's avatar
Clément Stenac committed
1556

1557 1558 1559 1560 1561 1562 1563
# ***************************************************************************
# qt4 (trolltech binaries)
# ***************************************************************************

qt-win-opensource-$(QT4T_VERSION)-mingw.exe:
	wget $(QT4T_URL)

1564
Qt_win32: qt-win-opensource-$(QT4T_VERSION)-mingw.exe
1565
	mkdir Qt
1566
	7z -oQt x qt-win-opensource-$(QT4T_VERSION)-mingw.exe \$$OUTDIR/bin\ /bin \$$OUTDIR/bin\ /lib \$$OUTDIR/bin\ /include/QtCore \$$OUTDIR/bin\ /include/QtGui \$$OUTDIR/bin\ /src/gui \$$OUTDIR/bin\ /src/corelib \$$OUTDIR/bin\ /translations
1567 1568 1569
	mv Qt/\$$OUTDIR/bin\ /* Qt/ && rmdir Qt/\$$OUTDIR/bin\  Qt/\$$OUTDIR
	find Qt -name '* ' -exec sh -c "mv \"{}\" `echo {}`" \;
	find Qt/src -name '*.cpp' -exec rm {} \;
1570
	find Qt/translations -type f -a ! -name 'qt_*.qm' -exec rm {} \;
1571 1572 1573 1574
	find Qt/include -name '*.h' -exec sh -c "mv {} {}.tmp; sed 's,..\/..\/src,..\/src,' {}.tmp > {}; rm -f {}.tmp" \;
	mkdir Qt/lib/pkgconfig
	sed -e s,@@VERSION@@,$(QT4T_VERSION), -e s,@@PREFIX@@,$(PREFIX), Patches/QtCore.pc.in > Qt/lib/pkgconfig/QtCore.pc
	sed -e s,@@VERSION@@,$(QT4T_VERSION), -e s,@@PREFIX@@,$(PREFIX), Patches/QtGui.pc.in > Qt/lib/pkgconfig/QtGui.pc
1575

1576
.Qt_win32: Qt_win32
1577
	mkdir -p $(PREFIX)/bin $(PREFIX)/include/qt4/src $(PREFIX)/lib/pkgconfig $(PREFIX)/share/qt4/translations
1578 1579 1580 1581
	cp Qt/bin/moc.exe Qt/bin/rcc.exe Qt/bin/uic.exe $(PREFIX)/bin
	cp -r Qt/include/QtCore Qt/include/QtGui $(PREFIX)/include/qt4
	cp -r Qt/src/corelib Qt/src/gui $(PREFIX)/include/qt4/src
	cp Qt/lib/libQtCore4.a Qt/lib/libQtGui4.a $(PREFIX)/lib
1582 1583
	cp Qt/lib/pkgconfig/* $(PREFIX)/lib/pkgconfig
	cp Qt/translations/* $(PREFIX)/share/qt4/translations 
1584
	touch $@
1585

1586 1587
CLEAN_FILE += .Qt_win32
CLEAN_PKG += Qt_win32
1588
DISTCLEAN_PKG += qt-win-opensource-$(QT4T_VERSION)-mingw.exe
1589

1590 1591 1592 1593
# ***************************************************************************
# qt4 (source-code compilation for Mac)
# ***************************************************************************

1594
qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz:
1595 1596
	$(WGET) $(QT4_MAC_URL)

1597
qt4_mac: qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz
1598 1599 1600
	$(EXTRACT_GZ)

.qt4_mac: qt4_mac
1601
	(cd qt4_mac; ./configure -prefix $(PREFIX) -release -fast -no-qt3support -nomake "examples demos" -sdk $(MACOSX_SDK) -no-framework && make && make install)
1602 1603 1604 1605
	touch $@

CLEAN_FILE += .qt4_mac
CLEAN_PKG += qt4_mac
1606
DISTCLEAN_PKG += qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz
1607

1608 1609 1610 1611 1612
# ***************************************************************************
# zlib
# ***************************************************************************

zlib-$(ZLIB_VERSION).tar.gz:
1613
	$(WGET) $(ZLIB_URL)
1614 1615

zlib: zlib-$(ZLIB_VERSION).tar.gz
1616
	$(EXTRACT_GZ)
Rafaël Carré's avatar
Rafaël Carré committed
1617
	patch -p0 < Patches/zlib.patch
1618 1619

.zlib: zlib
1620 1621 1622
	(cd zlib; $(HOSTCC2) ./configure --prefix=$(PREFIX) && make install)
	$(INSTALL_NAME)
	touch $@
1623 1624 1625 1626 1627

CLEAN_FILE += .zlib
CLEAN_PKG += zlib
DISTCLEAN_PKG += zlib-$(ZLIB_VERSION).tar.gz

1628 1629 1630 1631 1632
# ***************************************************************************
# PortAudio 
# ***************************************************************************

pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz:
1633
	$(WGET) $(PORTAUDIO_URL)
1634 1635

portaudio: pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz
1636
	$(EXTRACT_GZ)
1637
ifneq ($(HOST),$(BUILD))
Rafaël Carré's avatar
Rafaël Carré committed
1638
	(patch -p0 < Patches/portaudio-cross.patch;cd $@;  autoconf)
1639
endif
1640 1641

.portaudio: portaudio 
1642 1643 1644
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make  install)
	$(INSTALL_NAME)
	touch $@
1645 1646 1647

CLEAN_FILE += .portaudio
CLEAN_PKG += portaudio
1648
DISTCLEAN_PKG += pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz
1649

1650 1651 1652 1653 1654
# ***************************************************************************
# xml
# ***************************************************************************

libxml2-$(XML_VERSION).tar.gz:
1655
	$(WGET) $(XML_URL)
1656 1657

xml: libxml2-$(XML_VERSION).tar.gz
1658
	$(EXTRACT_GZ)
1659
ifdef HAVE_WIN32
Rafaël Carré's avatar
Rafaël Carré committed
1660
	patch -p0 < Patches/xml2-win32.patch
1661
	rm -f xml/aclocal.m4
1662
endif
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1663 1664 1665
ifdef HAVE_UCLIBC
	patch -p0 < Patches/xml2-uclibc.patch
endif
1666 1667

.xml: xml
1668 1669 1670
ifdef HAVE_WIN32
	(cd xml; aclocal && automake && autoreconf)
endif
1671
  ifdef HAVE_CYGWIN
1672
	(cd xml; ac_cv_header_pthread_h="no" CFLAGS="-DLIBXML_STATIC" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-minimal --with-catalog --with-reader --with-tree --with-push --with-xptr --with-valid --with-xpath --with-xinclude --with-sax1 --without-zlib --without-iconv --without-http --without-ftp  --without-debug --without-docbook --without-regexps && make && make install)
1673
  else
1674
	(cd xml; CFLAGS="-DLIBXML_STATIC" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-minimal --with-catalog --with-reader --with-tree --with-push --with-xptr --with-valid --with-xpath --with-xinclude --with-sax1 --without-zlib --without-iconv --without-http --without-ftp  --without-debug --without-docbook --without-regexps && make && make install)
1675
  endif
1676
ifndef HAVE_DARWIN_OS
1677
	$(INSTALL_NAME)
1678
endif
1679
	touch $@
1680 1681 1682 1683 1684

CLEAN_FILE += .xml
CLEAN_PKG += xml
DISTCLEAN_PKG += libxml2-$(XML_VERSION).tar.gz

1685 1686 1687 1688 1689
# ***************************************************************************
# twolame
# ***************************************************************************

twolame-$(TWOLAME_VERSION).tar.gz:
1690
	$(WGET) $(TWOLAME_URL)
1691 1692

twolame: twolame-$(TWOLAME_VERSION).tar.gz
1693
	$(EXTRACT_GZ)
1694
ifdef HAVE_BEOS
Rafaël Carré's avatar
Rafaël Carré committed
1695
	patch -p0 < Patches/twolame-BeOS.patch
1696
endif
1697 1698

.twolame: twolame
Christophe Mutricy's avatar
Christophe Mutricy committed
1699
ifdef HAVE_WIN32
1700
	(cd twolame/win32; $(WGET) "http://twolame.svn.sourceforge.net/viewvc/*checkout*/twolame/trunk/win32/winutil.h")
Christophe Mutricy's avatar
Christophe Mutricy committed
1701
endif	
1702
	(cd twolame; $(HOSTCC) CFLAGS="${CFLAGS}  -DLIBTWOLAME_STATIC" ./configure $(HOSTCONF) --prefix=$(PREFIX) && cd libtwolame &&  make && make install)
1703 1704
	$(INSTALL_NAME)
	touch $@
1705 1706 1707

CLEAN_FILE += .twolame
CLEAN_PKG += twolame
1708
DISTCLEAN_PKG += twolame-$(TWOLAME_VERSION).tar.gz
1709 1710 1711 1712 1713 1714

# ***************************************************************************
# libpng
# ***************************************************************************

libpng-$(PNG_VERSION).tar.bz2:
1715
	$(WGET) $(PNG_URL)
1716 1717

libpng: libpng-$(PNG_VERSION).tar.bz2
1718
	$(EXTRACT_BZ2)
1719
ifdef HAVE_WIN32
1720
	(cd $@; cat ../Patches/libpng-win32.patch | sed s,??PREFIX??,$(PREFIX), | patch -p0)
1721
else
1722
	(cat Patches/libpng-osx.patch | sed -e 's%??PREFIX??%$(PREFIX)%' -e 's%??EXTRA_CFLAGS??%$(EXTRA_CFLAGS)%' -e 's%??EXTRA_LDFLAGS??%$(EXTRA_LDFLAGS)%' | patch -p0)
1723
endif
Rafaël Carré's avatar
Rafaël Carré committed
1724
	(patch -p0 < Patches/libpng-makefile.patch)
1725
ifdef HAVE_DARWIN_OS_ON_INTEL
Rafaël Carré's avatar
Rafaël Carré committed
1726
	(patch -p0 < Patches/libpng-darwin-mactel.patch)
1727
endif
1728

1729
.png: libpng .zlib
1730
ifdef HAVE_DARWIN_OS
1731
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
1732 1733
else
ifdef HAVE_WIN32
1734
	(cd $<; rm -f INSTALL; cp scripts/makefile.cygwin Makefile && make $(HOSTCC) && make install-static)
1735 1736
else
ifeq ($(PNG_VERSION),1.2.8)
1737
	(cd $<; PREFIX=$(PREFIX) DESTDIR=$(PREFIX) cp scripts/makefile.linux Makefile && make && make install)
1738
else
1739
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
1740
endif
1741
endif
1742
endif
1743 1744
	$(INSTALL_NAME)
	touch $@
1745 1746 1747

CLEAN_FILE += .png
CLEAN_PKG += libpng
1748
DISTCLEAN_PKG += libpng-$(PNG_VERSION).tar.bz2
1749 1750 1751 1752 1753 1754

# ***************************************************************************
# libzvbi
# ***************************************************************************

zvbi-$(ZVBI_VERSION).tar.bz2:
1755
	$(WGET) $(ZVBI_URL)
1756 1757

zvbi: zvbi-$(ZVBI_VERSION).tar.bz2
1758
	$(EXTRACT_BZ2)
1759

1760 1761 1762
ifdef HAVE_WIN32
.zvbi: zvbi .pthreads
else
1763
.zvbi: zvbi
1764
endif
1765
ifdef HAVE_DARWIN_OS
1766
	(cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -fnested-functions" && make && make install)
1767
else
1768
	(cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make && make install)
1769
endif
1770
	$(INSTALL_NAME)
1771
	touch $@
1772 1773 1774

CLEAN_FILE += .zvbi
CLEAN_PKG += zvbi
1775
DISTCLEAN_PKG += zvbi-$(ZVBI_VERSION).tar.bz2
1776 1777

# ***************************************************************************
1778 1779 1780 1781 1782
# libraw1394
# ***************************************************************************

#ifdef SVN
#libraw1394:
1783
#	$(SVN) co -r 325 $(LIBDC1394_SVN)/libraw1394/trunk/libraw1394  libraw1394
1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798
#        (cd $<; libtoolize --copy --force; \
#                autopoint -f; \
#                aclocal -I extras/contrib/share/aclocal; \
#                autoconf; \
#                autoheader; \
#                automake --add-missing --copy -Wall)
#
#else
libraw1394-$(LIBRAW1394_VERSION).tar.gz:
	$(WGET) $(LIBRAW1394_URL)

libraw1394: libraw1394-$(LIBRAW1394_VERSION).tar.gz
	$(EXTRACT_GZ)
#endif

1799
.raw1394: libraw1394
1800
	(cd $<; ./configure --prefix=$(PREFIX) && make && make DESTDIR=$(PREFIX) install)
1801
#	sed 's/^typedef u_int8_t  byte_t;/\/* typedef u_int8_t  byte_t;\*\//'
1802 1803
	touch $@
	
1804
CLEAN_FILE += .raw1394
1805
CLEAN_PKG += libraw1394
1806
DISTCLEAN_PKG += libraw1394-$(LIBRAW1394_VERSION).tar.gz
1807 1808 1809 1810 1811 1812 1813

# ***************************************************************************
# libdc1394
# ***************************************************************************

#ifdef SVN
#libdc1394:
1814
#	$(SVN) co -r 325 $(LIBDC1394_SVN)/libdc1394/trunk/libdc1394  libdc1394
1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829
#        (cd $<; libtoolize --copy --force; \
#                autopoint -f; \
#                aclocal -I extras/contrib/share/aclocal; \
#                autoconf; \
#                autoheader; \
#                automake --add-missing --copy -Wall)
#
#else
libdc1394-$(LIBDC1394_VERSION).tar.gz:
	$(WGET) $(LIBDC1394_URL)

libdc1394: libdc1394-$(LIBDC1394_VERSION).tar.gz
	$(EXTRACT_GZ)
#endif

1830
.dc1394: libdc1394
1831 1832
	(cd $<; ./configure --prefix=$(PREFIX) && \
	 patch -p1 < ../Patches/libdc1394-noexamples.patch && \
1833
	 make && make DESTDIR=$(PREFIX) install)
1834 1835
	touch $@
	
1836
CLEAN_FILE += .dc1394
1837
CLEAN_PKG += libdc1394
1838
DISTCLEAN_PKG += libdc1394-$(LIBDC1394_VERSION).tar.gz
1839 1840

# ***************************************************************************
1841 1842 1843
# gpg-error 
# ***************************************************************************

1844
libgpg-error-$(GPGERROR_VERSION).tar.bz2:
1845
	$(WGET) $(GPGERROR_URL)
1846

1847 1848
libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.bz2
	$(EXTRACT_BZ2)
1849

1850
.gpg-error: libgpg-error
1851
ifdef HAVE_DARWIN_OS_ON_INTEL
1852
	(cd $<; ./autogen.sh)
1853
endif
1854
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls --disable-shared --disable-languages && make && make install)
1855 1856
#	$(INSTALL_NAME)
	touch $@
1857

1858
CLEAN_FILE += .gpg-error
1859
CLEAN_PKG += libgpg-error
1860
DISTCLEAN_PKG += libgpg-error-$(GPGERROR_VERSION).tar.bz2
1861 1862 1863 1864 1865

# ***************************************************************************
# libgcrypt
# ***************************************************************************

1866
libgcrypt-$(GCRYPT_VERSION).tar.bz2:
1867
	$(WGET) $(GCRYPT_URL)
1868

1869
libgcrypt: libgcrypt-$(GCRYPT_VERSION).tar.bz2
1870
	$(EXTRACT_BZ2)
Rafaël Carré's avatar
Rafaël Carré committed
1871
	patch -p0 < Patches/gcrypt.patch
1872

1873 1874
CIPHDIG= --enable-ciphers=aes,des,rfc2268,arcfour --enable-digests=sha1,md5,rmd160 --enable-publickey-digests=dsa 

1875
.gcrypt: libgcrypt .gpg-error
1876
ifdef HAVE_WIN32
1877
	(cd $<; ./autogen.sh && $(HOSTCC) ./configure $(HOSTCONF) --target=i586-mingw32msvc --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(CIPHDIG) --disable-shared --enable-static --disable-nls && sed -i 46s@sys/times.h@sys/time.h@ cipher/random.c && make && make install)
1878
else
1879
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(CIPHDIG) && make && make install)
1880
endif
1881 1882
	$(INSTALL_NAME)
	touch $@
1883 1884 1885

CLEAN_FILE += .gcrypt
CLEAN_PKG += libgcrypt
1886
DISTCLEAN_PKG += libgcrypt-$(GCRYPT_VERSION).tar.bz2
1887

1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905
# ***************************************************************************
# opencdk (requires by gnutls 2.x)
# ***************************************************************************

opencdk-$(OPENCDK_VERSION).tar.bz2:
	$(WGET) $(OPENCDK_URL)

opencdk: opencdk-$(OPENCDK_VERSION).tar.bz2 
	$(EXTRACT_BZ2)

.opencdk: opencdk
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(HOSTCC) && make && make install)
	touch $@

CLEAN_FILE += .opencdk
CLEAN_PKG += opencdk
DISTCLEAN_PKG += opencdk-$(OPENCDK_VERSION).tar.bz2

1906 1907 1908 1909 1910
# ***************************************************************************
# gnutls
# ***************************************************************************

gnutls-$(GNUTLS_VERSION).tar.bz2:
1911
	$(WGET) $(GNUTLS_URL)
1912 1913

gnutls: gnutls-$(GNUTLS_VERSION).tar.bz2
1914
	$(EXTRACT_BZ2)
1915
ifdef HAVE_WIN32
1916
	patch -p0 < Patches/gnutls-win32.patch
1917
	(cd $@; cd lgl; ln -sf alloca_.h alloca.h;)
1918
endif
1919

1920
.gnutls: gnutls .opencdk .gcrypt .gpg-error 
1921
ifdef HAVE_WIN32
1922
	(cd $<; autoconf && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --target=i586-mingw32msvc --disable-cxx -disable-shared --enable-static --disable-nls  && cd lgl && make && cd ../gl && make &&  cd ../lib &&make && make install && cd ../includes && make install)
1923
else
1924
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --disable-cxx --with-libopencdk-prefix=$(PREFIX) --disable-guile && make && make install)
1925
endif
1926 1927
	$(INSTALL_NAME)
	touch $@
1928 1929 1930

CLEAN_FILE += .gnutls
CLEAN_PKG += gnutls
1931
DISTCLEAN_PKG += gnutls-$(GNUTLS_VERSION).tar.bz2
1932 1933 1934 1935 1936 1937

# ***************************************************************************
# libopendaap
# ***************************************************************************

libopendaap-$(DAAP_VERSION).tar.bz2:
1938
	$(WGET) $(DAAP_URL)
1939 1940

libopendaap: libopendaap-$(DAAP_VERSION).tar.bz2
1941
	$(EXTRACT_BZ2)
Rafaël Carré's avatar
Rafaël Carré committed
1942
	patch -p0 < Patches/daap.patch
1943

1944
.opendaap: libopendaap
1945 1946 1947
	(cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" && make install)
	$(INSTALL_NAME)
	touch $@
1948

1949
CLEAN_FILE += .opendaap
1950
CLEAN_PKG += libopendaap
1951
DISTCLEAN_PKG += libopendaap-$(DAAP_VERSION).tar.bz2
1952 1953 1954 1955 1956 1957

# ***************************************************************************
# glib
# ***************************************************************************

glib-$(GLIB_VERSION).tar.gz:
1958
	$(WGET) $(GLIB_URL)
1959 1960

glib: glib-$(GLIB_VERSION).tar.gz
1961
	$(EXTRACT_GZ)
Rafaël Carré's avatar
Rafaël Carré committed
1962
	patch -p0 < Patches/glib.patch
1963 1964

.glib: glib
1965 1966
	(cd $<; ./configure --prefix=$(PREFIX) --host=powerpc-apple-macos && make && make install)
	touch $@
1967 1968 1969

CLEAN_FILE += .glibl
CLEAN_PKG += glib
1970
DISTCLEAN_PKG += glib-$(GLIB_VERSION).tar.gz
1971 1972 1973 1974 1975 1976

# ***************************************************************************
# libIDL
# ***************************************************************************

libIDL-$(LIBIDL_VERSION).tar.gz:
1977
	$(WGET) $(LIBIDL_URL)
1978 1979

libIDL: libIDL-$(LIBIDL_VERSION).tar.gz
1980
	$(EXTRACT_GZ)
1981

1982
.IDL: libIDL
1983 1984
	(cd $<; ./configure --prefix=$(PREFIX) --host=powerpc-apple-macos && make && make install )
	touch $@
1985

1986
CLEAN_FILE += .IDL
1987
CLEAN_PKG += libIDL
1988
DISTCLEAN_PKG += libIDL-$(LIBIDL_VERSION).tar.gz
1989

1990 1991 1992 1993 1994
# ***************************************************************************
# Gecko SDK
# ***************************************************************************

gecko-sdk-ppc-macosx10.2-1.7.5.tar.gz:
1995
	$(WGET) $(GECKO_SDK_MAC_URL)
1996 1997

gecko-sdk: gecko-sdk-ppc-macosx10.2-1.7.5.tar.gz
1998
	$(EXTRACT_GZ)
1999 2000

.gecko: gecko-sdk
2001 2002 2003
	rm -rf ../gecko-sdk
	mv gecko-sdk ..
	mkdir gecko-sdk #creating an empty dir is faster than copying the whole dir
2004 2005
	(cd $<)
	touch $@
2006 2007 2008 2009 2010

CLEAN_FILE += .gecko
CLEAN_PKG += gecko-sdk
DISTCLEAN_PKG += gecko-sdk-ppc-macosx10.2-1.7.5.tar.gz

2011 2012 2013 2014
# ***************************************************************************
# Gecko SDK win32
# ***************************************************************************

2015
gecko-sdk-i586-pc-msvc-1.8b1.zip:
2016
	$(WGET) $(GECKO_SDK_WIN32_URL)
2017 2018

libIDL-0.6.3-win32-bin.zip:
2019
	$(WGET) $(LIBIDL_WIN32_BIN_URL)
2020

2021
glib-19990228.zip:
2022
	$(WGET) $(GLIB_WIN32_BIN_URL)
2023

2024
.gecko-win32: gecko-sdk-i586-pc-msvc-1.8b1.zip libIDL-0.6.3-win32-bin.zip glib-19990228.zip
2025 2026 2027 2028 2029 2030 2031
	unzip gecko-sdk-i586-pc-msvc-1.8b1.zip
	rm -rf ../gecko-sdk
	mv gecko-sdk ..
	unzip -j libIDL-0.6.3-win32-bin.zip libIDL-0.6.3-win32-bin/libIDL-0.6.dll -d ../gecko-sdk/bin
	unzip glib-19990228.zip glib-1.2.dll -d ../gecko-sdk/bin
	chmod a+x ../gecko-sdk/bin/*
	touch $@
2032 2033 2034

CLEAN_FILE += .gecko-win32
CLEAN_PKG += gecko-sdk-win32
2035
DISTCLEAN_PKG += gecko-sdk-i586-pc-msvc-1.8b1.zip libIDL-0.6.3-win32-bin.zip glib-19990228.zip
2036

2037
# ***************************************************************************
2038
# mozilla-macosx
2039 2040 2041
# ***************************************************************************

mozilla-source-$(MOZILLA_VERSION).tar.bz2:
2042
	$(WGET) $(MOZILLA_URL)
2043 2044

mozilla: mozilla-source-$(MOZILLA_VERSION).tar.bz2
2045
	$(EXTRACT_BZ2)
2046

2047
.mozilla-macosx: mozilla
2048 2049
	(cd $<; ./configure --prefix=$(PREFIX) --enable-default-toolkit=mac --enable-standalone-modules=xpcom,plugin && make && make install)
	touch $@
2050

2051 2052
CLEAN_FILE += .mozilla-macosx
CLEAN_PKG += mozilla-macosx
2053
DISTCLEAN_PKG += mozilla-source-$(MOZILLA_VERSION).tar.bz2
2054

2055 2056 2057 2058 2059
# ***************************************************************************
# libjpeg
# ***************************************************************************

jpeg-$(JPEG_VERSION).tar.gz:
2060
	$(WGET) $(JPEG_URL)
2061 2062

jpeg: jpeg-$(JPEG_VERSION).tar.gz 
2063
	$(EXTRACT_GZ)
2064 2065

.jpeg: jpeg
2066 2067 2068
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(HOSTCC) && make && make install-lib)
	$(RANLIB) $(PREFIX)/lib/libjpeg.a
	touch $@
2069 2070 2071 2072 2073 2074 2075 2076 2077 2078

CLEAN_FILE += .jpeg
CLEAN_PKG += jpeg
DISTCLEAN_PKG += jpeg-$(JPEG_VERSION).tar.gz

# ***************************************************************************
# tiff
# ***************************************************************************

tiff-$(TIFF_VERSION).tar.gz:
2079
	$(WGET) $(TIFF_URL)
2080 2081

tiff: tiff-$(TIFF_VERSION).tar.gz 
2082
	$(EXTRACT_GZ)
2083 2084

.tiff: tiff
2085
ifdef HAVE_WIN32
2086
	(cd $<; ./configure  --target=i586-mingw32msvc --with-CFLAGS="$(CFLAGS)" --with-JPEG=no --with-ZIP=no --prefix=$(PREFIX) --host=$(HOST) &&make -C port && make -C libtiff && make -C libtiff install)
2087
else
2088
	(cd $<; ./configure --with-CFLAGS="$(CFLAGS)" --with-JPEG=no --with-ZIP=no --prefix=$(PREFIX) && make -C port &&make -C libtiff && make -C libtiff install)
2089
endif
2090
	$(INSTALL_NAME)
2091
	touch $@
2092 2093 2094 2095 2096 2097 2098 2099 2100 2101

CLEAN_FILE += .tiff
CLEAN_PKG += tiff
DISTCLEAN_PKG += tiff-$(TIFF_VERSION).tar.gz

# ***************************************************************************
# SDL
# ***************************************************************************

SDL-$(SDL_VERSION).tar.gz:
2102
	$(WGET) $(SDL_URL)
2103 2104

SDL: SDL-$(SDL_VERSION).tar.gz 
2105
	$(EXTRACT_GZ)
2106 2107

.SDL: SDL
2108 2109 2110
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-audio --disable-video-x11 --disable-video-aalib --disable-video-dga --disable-video-fbcon --disable-video-directfb --disable-video-ggi --disable-video-svga --disable-directx --enable-joystick --disable-cdrom --disable-threads --disable-sdl-dlopen CFLAGS="$(CFLAGS)" && make && make install)
	$(INSTALL_NAME)
	touch $@
2111 2112 2113 2114 2115 2116 2117 2118 2119 2120

CLEAN_FILE += .SDL
CLEAN_PKG += SDL
DISTCLEAN_PKG += SDL-$(SDL_VERSION).tar.gz

# ***************************************************************************
# SDL_image
# ***************************************************************************

SDL_image-$(SDL_IMAGE_VERSION).tar.gz:
2121
	$(WGET) $(SDL_IMAGE_URL)
2122 2123

SDL_image: SDL_image-$(SDL_IMAGE_VERSION).tar.gz 
2124
	$(EXTRACT_GZ)
Rafaël Carré's avatar
Rafaël Carré committed
2125
	patch -p0 < Patches/SDL_image.patch
2126
	patch -p0 < Patches/SDL_image-CVE-2006-4484.patch
2127 2128

.SDL_image: SDL_image .SDL .png .jpeg .tiff
2129 2130 2131
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --enable-tif --disable-sdltest && make && make install)
	$(INSTALL_NAME)
	touch $@
2132 2133 2134 2135 2136

CLEAN_FILE += .SDL_image
CLEAN_PKG += SDL_image
DISTCLEAN_PKG += SDL_image-$(SDL_IMAGE_VERSION).tar.gz

2137 2138 2139 2140 2141
# ***************************************************************************
# Musepack decoder library (libmpcdec)
# ***************************************************************************

libmpcdec-$(MUSE_VERSION).tar.bz2:
2142
	$(WGET) $(MUSE_URL)
2143

2144
mpcdec: libmpcdec-$(MUSE_VERSION).tar.bz2 
2145
	$(EXTRACT_BZ2)
2146
	patch -p0 < Patches/mpcdec.patch
2147
	(cd $@; autoreconf)
2148

2149
.mpcdec: mpcdec
2150
ifdef HAVE_WIN32 
2151
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS=-D_PTRDIFF_T=mpc_int32_t && make && make install)
2152
else
2153
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
2154 2155
endif
ifdef HAVE_DARWIN_OS
2156
	$(INSTALL_NAME)
2157
endif
2158
	touch $@
2159

2160 2161
CLEAN_FILE += .mpcdec
CLEAN_PKG += mpcdec
2162 2163
DISTCLEAN_PKG += libmpcdec-$(MUSE_VERSION).tar.bz2

2164
# ***************************************************************************
2165 2166
# Dirac
# ***************************************************************************
2167 2168

dirac-$(DIRAC_VERSION).tar.gz:
2169
	$(WGET) $(DIRAC_URL)
2170 2171

dirac: dirac-$(DIRAC_VERSION).tar.gz
2172
	$(EXTRACT_GZ)
2173
	patch -p1 -d dirac <Patches/dirac-cross.patch
2174
ifdef HAVE_CYGWIN
2175
	# incorrect compile warning with cygwin compiler 3.4.4
2176 2177
	patch -p0 <Patches/dirac-cygwin.patch
endif
2178
	(cd $@; aclocal -I m4 && autoconf && automake)
2179

2180 2181 2182 2183
DIRAC_SUBDIRS = libdirac_byteio libdirac_common libdirac_motionest libdirac_encoder libdirac_decoder

ifdef HAVE_WIN32
DIRAC_SUBDIRS += win32
2184
endif
2185

2186
.dirac: dirac
2187
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX)  CFLAGS="$(CFLAGS)" && DOC_DIR="" make $(DIRAC_SUBDIRS) && DOC_DIR="" make install)
2188
	touch $@
2189 2190 2191

# for MacOS X, dirac is split into two libraries, which needs be installed using two targets
.dirac_encoder: .dirac
2192 2193
	$(INSTALL_NAME)
	touch $@
2194 2195

.dirac_decoder: .dirac
2196 2197
	$(INSTALL_NAME)
	touch $@
2198 2199 2200 2201 2202 2203 2204 2205 2206

CLEAN_FILE += .dirac
CLEAN_PKG += dirac
DISTCLEAN_PKG += dirac-$(DIRAC_VERSION).tar.gz

# *************************************************************************
# DirectX headers
# *************************************************************************
win32-dx7headers.tgz:
2207
	$(WGET) $(DX_HEADERS_URL)
2208
.dx_headers: win32-dx7headers.tgz
2209 2210
	(cd ../include ; tar xzf ../src/$<)
	touch $@
2211 2212 2213 2214 2215 2216 2217
CLEAN_FILE += .dx_headers
DISTCLEAN_PKG += win32-dx7headers.tgz
 
# *************************************************************************
# DirectShow headers
# *************************************************************************
dshow-headers.tgz:
2218
	$(WGET) $(DSHOW_HEADERS_URL)
2219
.dshow_headers: dshow-headers.tgz
2220 2221
	(cd ../include ; tar xzf ../src/$<)
	touch $@
2222 2223
CLEAN_FILE += .dshow_headers
DISTCLEAN_PKG += dshow-headers.tgz
2224 2225 2226 2227 2228 2229

# ***************************************************************************
# libexpat
# ***************************************************************************

expat-$(EXPAT_VERSION).tar.gz:
2230
	$(WGET) $(EXPAT_URL)
2231 2232

expat: expat-$(EXPAT_VERSION).tar.gz
2233
	$(EXTRACT_GZ)
2234 2235

.expat: expat
2236
ifdef HAVE_DARWIN_OS
2237
	(cd $< aclocal --force && libtoolize --force && autoconf --force && autoheader --force )
2238
endif
2239 2240
	(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
	touch $@
2241 2242 2243 2244 2245 2246 2247 2248 2249 2250

CLEAN_FILE += .expat
CLEAN_PKG += expat
DISTCLEAN_PKG += expat-$(EXPAT_VERSION).tar.gz

# ***************************************************************************
# CyberLink C++ UPnP library
# ***************************************************************************

clinkcc$(CLINKCC_VERSION).tar.gz:
2251
	$(WGET) $(CLINKCC_URL)
2252 2253

clinkcc: clinkcc$(CLINKCC_VERSION).tar.gz
2254 2255 2256
	tar xzf $<
	mv $(patsubst %.tar.gz,Cyberlink,$(patsubst %.tgz,Cyberlink,$(notdir $<))) $@ || true
	touch $@
Rafaël Carré's avatar
Rafaël Carré committed
2257
	patch -p0 < Patches/clinkcc.patch
2258
ifdef HAVE_DARWIN_OS
Rafaël Carré's avatar
Rafaël Carré committed
2259
	patch -p0 < Patches/clinkcc_osx.patch
2260 2261 2262
endif

.clinkcc: clinkcc
2263 2264
	(cd $<; ./bootstrap && ./configure --prefix=$(PREFIX) --enable-expat && make && chmod 755 config/install-sh && make install )
	touch $@
2265 2266 2267

CLEAN_FILE += .clinkcc
CLEAN_PKG += clinkcc
2268
DISTCLEAN_PKG += clinkcc$(CLINKCC_VERSION).tar.gz
2269

2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287
# ***************************************************************************
# YASM assembler
# ***************************************************************************

yasm-$(YASM_VERSION).tar.gz:
	$(WGET) $(YASM_URL)

yasm: yasm-$(YASM_VERSION).tar.gz
	$(EXTRACT_GZ)

.yasm: yasm
	(cd $< && $(HOSTCC) ./configure --prefix=$(PREFIX) && make && make install)
	touch $@

CLEAN_FILE += .yasm
CLEAN_PKG += yasm
DISTCLEAN_PKG += yasm-$(YASM_VERSION).tar.bz2

2288
# ***************************************************************************
2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308
# kate
# ***************************************************************************

libkate-$(KATE_VERSION).tar.gz:
	$(WGET) $(KATE_URL)

libkate: libkate-$(KATE_VERSION).tar.gz
	$(EXTRACT_GZ)
	(cd $@; autoconf)

.kate: libkate .ogg
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-valgrind && make && make install)
	$(INSTALL_NAME)
	touch $@

CLEAN_FILE += .kate
CLEAN_PKG += libkate
DISTCLEAN_PKG += libkate-$(KATE_VERSION).tar.gz

# ***************************************************************************
2309 2310 2311 2312 2313 2314
# Copy aclocal files
# This is necessary for --missing aclocal to succeed after a
# configure.ac/Makefile.am change in the vlc root dir
# **************************************************************************

.aclocal:
2315 2316
	cp -R $(PREFIX)/share/aclocal/* $(PREFIX)/../../m4/
	touch $@
2317

Felix Paul Kühne's avatar
Felix Paul Kühne committed
2318
CLEAN_FILE += .aclocal
2319

2320 2321 2322 2323 2324
# ***************************************************************************
# TagLib read and editing of tags of popular audio formats
# ***************************************************************************

taglib-$(TAGLIB_VERSION).tar.gz:
2325
	$(WGET) $(TAGLIB_URL)
2326 2327

taglib: taglib-$(TAGLIB_VERSION).tar.gz
2328
	$(EXTRACT_GZ)
2329 2330 2331
ifdef HAVE_WIN32
	patch -p0 < Patches/taglib.patch
endif
2332
ifdef HAVE_CYGWIN
2333
	patch -p0 < Patches/taglib-cygwin.patch
2334
endif
2335 2336

.tag: taglib
2337
	(cd $<; $(HOSTCC)  ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
2338 2339
	$(INSTALL_NAME)
	touch $@
2340

2341 2342 2343 2344 2345 2346 2347
CLEAN_FILE += .tag
CLEAN_PKG += taglib
DISTCLEAN_PKG += taglib-$(TAGLIB_VERSION).tar.gz

# ***************************************************************************
# pthreads for win32
# ***************************************************************************
Christophe Mutricy's avatar
Christophe Mutricy committed
2348 2349 2350 2351 2352 2353 2354 2355

pthreads-w32-$(PTHREADS_VERSION)-release.tar.gz:
	$(WGET) $(PTHREADS_URL)

pthreads: pthreads-w32-$(PTHREADS_VERSION)-release.tar.gz
	$(EXTRACT_GZ)

.pthreads: pthreads
2356
	(cd $<; $(HOSTCC) make $(PTHREADSCONF) GC-static && mkdir -p $(PREFIX)/include && cp -v pthread.h sched.h semaphore.h $(PREFIX)/include/ && mkdir -p $(PREFIX)/lib && cp -v *.a $(PREFIX)/lib/)
Christophe Mutricy's avatar
Christophe Mutricy committed
2357 2358 2359
	$(INSTALL_NAME)
	touch $@

2360 2361 2362
CLEAN_FILE += .pthreads
CLEAN_PKG += pthreads
DISTCLEAN_PKG += pthreads-w32-$(PTHREADS_VERSION)-release.tar.gz
2363

2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380
# ***************************************************************************
# ncurses library (with wide chars support)
# ***************************************************************************

ncurses-$(NCURSES_VERSION).tar.gz:
	$(WGET) $(NCURSES_URL)

ncurses: ncurses-$(NCURSES_VERSION).tar.gz
	$(EXTRACT_GZ)

.ncurses: ncurses
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --without-debug --enable-widec --without-develop --without-shared && make && make install)
	touch $@

CLEAN_FILE += .ncurses
CLEAN_PKG += ncurses
DISTCLEAN_PKG += ncurses-$(NCURSES_VERSION).tar.gz
Christophe Mutricy's avatar
Christophe Mutricy committed
2381

2382 2383 2384 2385 2386
# ***************************************************************************
# asa library (ASS/SSA support)
# ***************************************************************************

asa.git.tar.gz:
2387
	$(WGET) $(ASA_URL)
2388 2389 2390

asa: asa.git.tar.gz
	$(EXTRACT_GZ)
2391
	patch -p0 < Patches/asa-git.diff
2392

Rafaël Carré's avatar
Rafaël Carré committed
2393 2394
.asa: asa .fontconfig .pcre .iconv
	(cd $<; ./bootstrap; $(HOSTCC) CFLAGS="$(CFLAGS) -DPCRE_STATIC" ./configure $(HOSTCONF) --prefix=$(PREFIX))
Jean-Baptiste Kempf's avatar
Typo  
Jean-Baptiste Kempf committed
2395
	(cd $</lib/import; make || (echo "Please copy a ./preparse file you built for your host into asa/lib/import"; echo "When you are finished, press enter." ; echo "If you are building natively, press enter." ; read i ; make) )
Rafaël Carré's avatar
Rafaël Carré committed
2396
	(cd $<; make && make install)
2397
	$(INSTALL_NAME)
2398 2399 2400 2401 2402 2403
	touch $@

CLEAN_FILE += .asa
CLEAN_PKG += asa
DISTCLEAN_PKG += asa.git.tar.gz

2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419
# ***************************************************************************
# FluidSynth library (Midi)
# ***************************************************************************

fluidsynth-$(FLUID_VERSION).tar.gz:
	$(WGET) $(FLUID_URL)

fluidsynth: fluidsynth-$(FLUID_VERSION).tar.gz
	$(EXTRACT_GZ)

.fluid: fluidsynth
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
	touch $@

CLEAN_FILE += .fluid
CLEAN_PKG += fluidsynth
2420
DISTCLEAN_PKG += fluidsynth-$(FLUID_VERSION).tar.gz
2421

2422 2423 2424 2425 2426 2427 2428 2429 2430
# ***************************************************************************
# liboil
# ***************************************************************************

liboil-$(OIL_VERSION).tar.gz:
	$(WGET) $(OIL_URL)

liboil: liboil-$(OIL_VERSION).tar.gz
	$(EXTRACT_GZ)
2431
	patch -d liboil -p1 < Patches/liboil-noshared.patch
2432 2433

.liboil: liboil
2434
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -O2" && make && make install)
2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450
	touch $@

CLEAN_FILE += .liboil
CLEAN_PKG += liboil
DISTCLEAN_PKG += liboil-$(OIL_VERSION).tar.gz

# ***************************************************************************
# Schroedinger library
# ***************************************************************************

schroedinger-$(SCHROED_VERSION).tar.gz:
	$(WGET) $(SCHROED_URL)

schroedinger: schroedinger-$(SCHROED_VERSION).tar.gz
	$(EXTRACT_GZ)

2451
.schroedinger: schroedinger .liboil
2452
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -O3" && make && make install)
2453 2454 2455 2456 2457
	touch $@

CLEAN_FILE += .schroedinger
CLEAN_PKG += schroedinger
DISTCLEAN_PKG += schroedinger-$(SCHROED_VERSION).tar.gz
2458

2459 2460 2461 2462 2463 2464 2465
# ***************************************************************************
# ASS library
# ***************************************************************************

libass-$(ASS_VERSION).tar.bz2:
	$(WGET) $(ASS_URL)

2466
# mplayer patches up to August 8, 2008 are included
2467 2468
libass: libass-$(ASS_VERSION).tar.bz2
	$(EXTRACT_BZ2)
2469
	patch -p0 < Patches/libass_mplayer_updates.patch
2470 2471
ifneq ($(HOST),$(BUILD))
	patch -p0 < Patches/libass-cross.patch
2472
	cd $@; autoconf; automake
2473 2474
endif

2475
.libass: libass .png
2476 2477 2478
	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -O3" && make && make install)
	touch $@

2479 2480 2481
CLEAN_FILE += .libass
CLEAN_PKG += libass
DISTCLEAN_PKG += libass-$(ASS_VERSION).tar.bz2
2482

2483
# ***************************************************************************
2484
# Some cleaning
2485 2486 2487
# ***************************************************************************

clean-dots: FORCE
2488
	rm -f $(CLEAN_FILE)
2489 2490

clean: clean-dots
2491
	rm -rf $(CLEAN_PKG)
2492 2493

clean-src: clean
2494
	rm -rf $(DISTCLEAN_PKG)
2495

2496
clean-svn:
2497
	rm -rf ffmpeg tremor x264 libdca pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz portaudio live555-$(LIVEDOTCOM_VERSION).tar.gz live	
2498

2499
distclean: clean-src
2500

2501 2502 2503 2504
# ***************************************************************************
# Download all the sources and package unversionned copies of subversion trees
# ***************************************************************************

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
2505
source: $(SOURCE) $(DISTCLEAN_PKG)