#***************************************************************************
# src/Makefile : Dearchive and compile all files necessary
# ***************************************************************************
-# Copyright (C) 2003 - 2009 the VideoLAN team
+# Copyright (C) 2003 - 2010 the VideoLAN team
# $Id$
#
# Authors: Christophe Massiot <massiot@via.ecp.fr>
export CPPFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
export CXXFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS)
export LDFLAGS = -L$(PREFIX)/lib $(EXTRA_LDFLAGS)
-ifdef HAVE_DARWIN_OS
+export ACLOCAL = aclocal -I$(PREFIX)/share/aclocal
+ifdef HAVE_MACOSX
export CC
export CXX
export LD
HOSTCC2=$(HOSTCC)
endif
-FFMPEGCONF=
+FFMPEGCONF=--disable-doc --disable-decoder=libvpx
# cross compiling
#This should be inside the if block but some config scripts are buggy
endif
endif
-ifdef HAVE_DARWIN_OS_ON_INTEL
+ifdef HAVE_MACOSX_ON_INTEL
FFMPEGCONF += --enable-memalign-hack
endif
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
X264CONF=--host=$(HOST)
X264CONF += --enable-pic
-ifdef HAVE_DARWIN_32
+ifdef HAVE_MACOSX32
+FFMPEGCONF += --enable-libvpx
FFMPEGCONF += --cc=gcc-4.0
else
FFMPEGCONF += --cc=$(CC)
endif
FFMPEGCONF += --arch=$(ARCH)
-ifdef HAVE_DARWIN_64
+ifdef HAVE_MACOSX64
+FFMPEGCONF += --enable-libvpx
FFMPEGCONF += --cpu=core2
-X264CONF+=--host=x86_64-apple-darwin10
+X264CONF+=--host=x86_64-apple-MACOSX10
endif
-ifdef HAVE_DARWIN_OS_ON_INTEL
+ifdef HAVE_MACOSX_ON_INTEL
FFMPEG_CFLAGS += -DHAVE_LRINTF
endif
endif
CLEAN_FILE += .errno
CLEAN_PKG += errno
-# ***************************************************************************
-# autoconf
-# ***************************************************************************
-
-autoconf-$(AUTOCONF_VERSION).tar.bz2:
- $(WGET) $(AUTOCONF_URL)
-
-autoconf: autoconf-$(AUTOCONF_VERSION).tar.bz2
- $(EXTRACT_BZ2)
-
-.autoconf: autoconf
- (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
- touch $@
-
-CLEAN_FILE += .autoconf
-CLEAN_PKG += autoconf
-DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2
-
-# ***************************************************************************
-# 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
-
# ***************************************************************************
# CMake
# ***************************************************************************
# libtool
# ***************************************************************************
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
libtool-$(LIBTOOL_VERSION).tar.gz:
$(WGET) $(LIBTOOL_URL)
endif
# ***************************************************************************
-# automake
+# autotools
# ***************************************************************************
+autoconf-$(AUTOCONF_VERSION).tar.bz2:
+ $(WGET) $(AUTOCONF_URL)
+
+autoconf: autoconf-$(AUTOCONF_VERSION).tar.bz2
+ $(EXTRACT_BZ2)
+
+.autoconf: autoconf
+ (cd $<; ./configure --prefix=$(PREFIX) && make && make install)
+ touch $@
+
+CLEAN_FILE += .autoconf
+CLEAN_PKG += autoconf
+DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2
+
automake-$(AUTOMAKE_VERSION).tar.gz:
$(WGET) $(AUTOMAKE_URL)
automake: automake-$(AUTOMAKE_VERSION).tar.gz
$(EXTRACT_GZ)
-.automake: automake
+.automake: automake .autoconf
(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
touch $@
gettext: gettext-$(GETTEXT_VERSION).tar.gz
$(EXTRACT_GZ)
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
patch -p0 < Patches/gettext-macosx.patch
endif
libiconv-snowleopard: libiconv-snowleopard.tar.bz2
$(EXTRACT_BZ2)
-ifdef HAVE_DARWIN_OS
-ifdef HAVE_DARWIN_10
+ifdef HAVE_MACOSX
+ifdef HAVE_MACOSX_DARWIN_10
.iconv: libiconv-snowleopard
(cd libiconv-snowleopard && cp libiconv.* $(PREFIX)/lib/)
touch $@
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --disable-libxml2 --disable-docs && make && make install)
endif
else
- ifdef HAVE_DARWIN_OS
+ ifdef HAVE_MACOSX
(cd $<; $(HOSTCC) LIBXML2_CFLAGS=`xml2-config --cflags` LIBXML2_LIBS=`xml2-config --libs` ./configure $(HOSTCONF) --with-cache-dir=/usr/X11/var/cache/fontconfig --with-confdir=/usr/X11/lib/X11/fonts --with-default-fonts=/System/Library/Fonts --with-add-fonts=/Library/Fonts,~/Library/Fonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --with-arch=$(ARCH) --enable-libxml2 --disable-docs && make && make install-exec && (cd fontconfig ; make install-data) && cp fontconfig.pc $(PKG_CONFIG_LIBDIR))
else
(cd $<; $(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)
ifdef HAVE_WIN32
LUA_MAKEPLATEFORM=mingw
else
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
LUA_MAKEPLATEFORM=macosx
else
ifdef HAVE_LINUX
lua: lua-$(LUA_VERSION).tar.gz
$(EXTRACT_GZ)
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
(cd $@; sed -e 's%gcc%$(CC)%' -e 's%LDFLAGS=%LDFLAGS=$(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)%' -i.orig src/Makefile)
endif
libmad: libmad-$(LIBMAD_VERSION).tar.gz
$(EXTRACT_GZ)
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
( cd $@; sed -e 's%-march=i486%$(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)%' -e 's%-dynamiclib%-dynamiclib -arch $(ARCH)%' -i.orig configure )
endif
libogg: libogg-$(OGG_VERSION).tar.gz
$(EXTRACT_GZ)
- patch -p0 < Patches/libogg-inttypes.patch
patch -p0 < Patches/libogg-1.1.patch
ifdef HAVE_WINCE
patch -p0 < Patches/libogg-wince.patch
THEORACONF = --disable-sdltest --disable-oggtest --disable-vorbistest --disable-examples
-ifdef HAVE_DARWIN_64
+ifdef HAVE_MACOSX64
THEORACONF += --disable-asm
endif
ifdef HAVE_WIN64
endif
.theora: libtheora .ogg
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
cd $<; ($(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(THEORACONF) && make && make install)
else
ifdef HAVE_WIN32
ifdef HAVE_WIN32
patch -p0 < Patches/flac-win32.patch
endif
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
( cd $@; sed -e 's%-dynamiclib%-dynamiclib -arch $(ARCH)%' -i.orig configure )
endif
FLAC_DISABLE_FLAGS = --disable-oggtest --disable-xmms-plugin --disable-cpplibs
.flac: flac .ogg
-ifdef HAVE_DARWIN_OS_ON_INTEL
+ifdef HAVE_MACOSX_ON_INTEL
cd $< && \
$(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm-optimizations $(FLAC_DISABLE_FLAGS)
else
faad2: faad2-$(FAAD2_VERSION).tar.gz
$(EXTRACT_GZ)
- (cd $@; echo|$(CC) -iquote . -E - || sed -i 's/-iquote /-I/' libfaad/Makefile.am; sh ./bootstrap)
+ (cd $@; echo|$(CC) -iquote . -E - || sed -i 's/-iquote /-I/' libfaad/Makefile.am; autoreconf -ivf)
patch -p0 < Patches/faad-arm-fixed.patch
.faad: faad2
#ibvpx-$(VPX_VERSION).tar.bz2:
#$(WGET) $(VPX_URL)
-libvpx:
+libvpx:
$(GIT) clone git://review.webmproject.org/libvpx.git
ifdef HAVE_WIN32
VPX_TARGET=x86-win32-gcc
-CROSS=
+CROSS=$(HOST)-
else
-ifdef HAVE_DARWIN_OS
-ifdef HAVE_DARWIN_64
-VPX_TARGET=x86_64-darwin9-gcc
+ifdef HAVE_MACOSX
+ifdef HAVE_MACOSX64
+VPX_TARGET=x86_64-MACOSX9-gcc
else
-ifdef HAVE_DARWIN_OS_ON_INTEL
-VPX_TARGET=x86-darwin9-gcc
+ifdef HAVE_MACOSX_ON_INTEL
+VPX_TARGET=x86-MACOSX9-gcc
else
-VPX_TARGET=ppc32-darwin9-gcc
+VPX_TARGET=ppc32-MACOSX9-gcc
endif
endif
else
endif
endif
+ifdef HAVE_MACOSX_ON_INTEL
+.libvpx: libvpx .yasm
+else
.libvpx: libvpx
- (cd $<; CROSS=$(HOST)- ./configure --target=$(VPX_TARGET) --disable-install-bins --disable-install-srcs --disable-install-libs --disable-examples && make && make install)
- (rm -rf $(PREFIX)/include/vpx/ && mkdir $(PREFIX)/include/vpx/; cd $< && cp vpx/*.h vpx_ports/*.h $(PREFIX)/include/vpx/) # Of course, why the hell would one expect it to be listed or in make install?
+endif
+ (cd $<; CROSS=$(CROSS) ./configure --target=$(VPX_TARGET) --disable-install-bins --disable-install-srcs --disable-install-libs --disable-install-docs --disable-examples --disable-vp8-decoder && make && make install)
+ (rm -rf $(PREFIX)/include/vpx/ && mkdir -p $(PREFIX)/include/vpx/; cd $< && cp vpx/*.h vpx_ports/*.h $(PREFIX)/include/vpx/) # Of course, why the hell would one expect it to be listed or in make install?
rm $(PREFIX)/include/vpx/config.h
(cd $<; $(RANLIB) libvpx.a && mkdir -p $(PREFIX)/lib && cp libvpx.a $(PREFIX)/lib/) # Of course, why the hell would one expect it to be listed or in make install?
touch $@
--disable-avfilter \
--disable-network
ifdef HAVE_WIN64
-FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --enable-libmp3lame --enable-w32threads --disable-dxva2 --disable-bsfs
+FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --enable-libmp3lame --enable-w32threads --disable-dxva2 --disable-bsfs
else
ifdef HAVE_WIN32
FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --enable-libmp3lame --enable-w32threads --enable-dxva2 --disable-bsfs --enable-libvpx
else
ifdef HAVE_IOS
-FFMPEGCONF += --target-os=darwin --sysroot=${IOS_SDK_ROOT}
+FFMPEGCONF += --target-os=MACOSX --sysroot=${IOS_SDK_ROOT}
ifeq ($(ARCH),arm)
FFMPEGCONF += --disable-runtime-cpudetect --enable-neon --cpu=cortex-a8
else
(cd $<; sed -e 's/-lws2_32/-lws2/g' -i.orig config.mingw)
(cd $<;./genMakefiles mingw && make $(HOSTCC))
else
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
(cd $<; sed -e 's%-DBSD=1%-DBSD=1\ $(EXTRA_CFLAGS)\ $(EXTRA_LDFLAGS)%' -e 's%cc%$(CC)%' -e 's%c++%$(CXX)\ $(EXTRA_LDFLAGS)%' -i.orig config.macosx)
(cd $<; ./genMakefiles macosx && make)
else
endif
patch -p0 < Patches/goom2k4-0-memleaks.patch
patch -p0 < Patches/goom2k4-autotools.patch
- (cd $@; rm -f configure; ACLOCAL="aclocal -I m4/" autoreconf -ivf)
+ifdef HAVE_MACOSX
+ patch -p0 < Patches/goom2k4-osx.patch
+endif
+ (cd $@; rm -f configure; autoreconf -ivf)
.goom2k4: goom
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static --disable-glibtest --disable-gtktest && make && make install)
libcaca: libcaca-$(LIBCACA_VERSION).tar.gz
$(EXTRACT_GZ)
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
patch -p0 < Patches/libcaca-osx-sdkofourchoice.patch
(cd $@; sed -e 's%/Developer/SDKs/MacOSX10.4u.sdk%$(MACOSX_SDK)%' -i.orig configure)
endif
.caca: libcaca
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx --disable-x11 && cd caca && make && make install)
else
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && cd caca && make && make install)
libdca: libdca-$(LIBDCA_VERSION).tar.bz2
$(EXTRACT_BZ2)
-ifdef HAVE_DARWIN_9
+ifdef HAVE_MACOSX_DARWIN_9
( cd $@; patch -p0 < ../Patches/libdca-llvm-gcc.patch )
endif
(cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
endif
else
-ifdef HAVE_DARWIN_OS_ON_INTEL
+ifdef HAVE_MACOSX_ON_INTEL
.x264: x264 .yasm
(cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install)
else
vcdimager: vcdimager-$(VCDIMAGER_VERSION).tar.gz
$(EXTRACT_GZ)
-ifdef HAVE_DARWIN_OS
-.vcdimager: vcdimager
+.vcdimager: vcdimager .cdio
+ifdef HAVE_MACOSX
(cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static LDFLAGS="$(LDFLAGS) -framework CoreFoundation -framework IOKit" && make && make install)
- touch $@
else
-.vcdimager: vcdimager
(cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
- touch $@
endif
+ touch $@
CLEAN_FILE += .vcdimager
CLEAN_PKG += vcdimager
libcdio: libcdio-$(CDIO_VERSION).tar.gz
$(EXTRACT_GZ)
patch -p0 < Patches/libcdio-install-cdparanoia-pc.patch
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
patch -p0 < Patches/libcdio-modernOSX.patch
endif
else
(cd xml; CFLAGS="-DLIBXML_STATIC" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(XMLCONF) && make && make install)
endif
-ifndef HAVE_DARWIN_OS
+ifndef HAVE_MACOSX
$(INSTALL_NAME)
endif
touch $@
(patch -p0 < Patches/libpng-makefile.patch)
.png: libpng .zlib
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
else
ifdef HAVE_WIN32
else
.zvbi: zvbi
endif
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
(cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -fnested-functions" && make && make install)
else
ifdef HAVE_WIN32
endif
.gpg-error: libgpg-error
-ifdef HAVE_DARWIN_OS_ON_INTEL
- (cd $<; ./autogen.sh)
-endif
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls --disable-shared --disable-languages && make && make install)
# $(INSTALL_NAME)
touch $@
.gcrypt: libgcrypt .gpg-error
ifdef HAVE_WIN32
- (cd $<; ./autogen.sh && $(HOSTCC) ./configure $(HOSTCONF) --target=i586-mingw32msvc --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(CIPHDIG) --disable-shared --enable-static --disable-nls && make && make install)
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --target=i586-mingw32msvc --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(CIPHDIG) --disable-shared --enable-static --disable-nls && make && make install)
else
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS) -lgpg-error" $(CIPHDIG) && make && make install)
endif
# LibSDL
# ***************************************************************************
-ifndef HAVE_DARWIN_OS
+ifndef HAVE_MACOSX
SDL-$(SDL_VERSION).tar.gz:
$(WGET) $(SDL_URL)
else
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
endif
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
$(INSTALL_NAME)
endif
touch $@
patch -p0 < Patches/dirac-cygwin.patch
endif
patch -p0 < Patches/dirac-noutils.patch
- (cd $@; ./bootstrap)
+ patch -p0 < Patches/dirac-autotools.patch
+ (cd $@; autoreconf -ivf)
DIRAC_SUBDIRS = libdirac_byteio libdirac_common libdirac_motionest libdirac_encoder libdirac_decoder
$(EXTRACT_GZ)
.expat: expat
-ifdef HAVE_DARWIN_OS
- (cd $< aclocal --force && libtoolize --force && autoconf --force && autoheader --force )
-endif
(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
touch $@
$(EXTRACT_GZ)
.orc: orc
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)")
else
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX))
LIBUPNP_ECFLAGS=-DPTW32_STATIC_LIB
endif
+ifdef HAVE_WIN32
+.libupnp: libupnp .pthreads
+else
.libupnp: libupnp
+endif
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-samples --without-documentation --enable-static --disable-webserver CFLAGS="$(CFLAGS) -O3 -DUPNP_STATIC_LIB $(LIBUPNP_ECFLAGS)" && make && make install)
touch $@
ifneq ($(HOST),$(BUILD))
(patch -p0 < Patches/gsm-cross.patch)
endif
-ifdef HAVE_DARWIN_OS
+ifdef HAVE_MACOSX
(cd $@; sed -e 's%-O2%-O2\ $(EXTRA_CFLAGS)\ $(EXTRA_LDFLAGS)%' -e 's%# LDFLAGS =%LDFLAGS = $(EXTRA_LDFLAGS)%' -e 's%gcc%$(CC)%' -i.orig Makefile)
endif
DISTCLEAN_PKG += gsm-$(GSM_VERSION).tar.gz
# ***************************************************************************
-### GLEW
+### GLEW
# ***************************************************************************
glew-$(GLEW_VERSION)-src.tgz:
$(WGET) $(GLEW_URL)
CLEAN_PKG += sqlite-$(SQLITE_VERSION)
DISTCLEAN_PKG += sqlite-amalgamation-$(SQLITE_VERSION).tar.gz
+# *****************************
+# GME
+# *****************************
+game-music-emu-$(GME_VERSION).tbz2:
+ $(WGET) $(GME_URL)
+
+game-music-emu-$(GME_VERSION): game-music-emu-$(GME_VERSION).tbz2
+ $(EXTRACT_BZ2)
+ patch -p0 < Patches/gme-static.patch
+
+.gme: game-music-emu-$(GME_VERSION)
+ (cd $<; $(HOSTCC) CPPFLAGS="$(CPPFLAGS)" cmake . -DCMAKE_TOOLCHAIN_FILE=../../toolchain.cmake -DCMAKE_INSTALL_PREFIX=$(PREFIX) && make && make install )
+ touch $@
+
+CLEAN_FILE += .gme
+CLEAN_PKG += game-music-emu-$(GME_VERSION)
+DISTCLEAN_PKG += game-music-emu-$(GME_VERSION).tbz2
# ***************************************************************************
# Some cleaning