# is installed for all other systems
if $(OS) = MACOSX
{
- WGET = curl -o ;
+ WGET = curl -L -o ;
}
else
{
WGET = wget -O ;
}
+if $(OS) = UNKNOWN
+{
+ OS = CYGWIN ;
+}
+
# Wget rule: downloads $(<) from the link in $(>)
rule Wget
{
}
actions LibA52
{
+
cd `dirname $(>)` && CONTRIB=`pwd` &&
- rm -rf a52dec && tar xzf a52dec.tar.gz && cd a52dec &&
+ rm -rf a52dec && tar xzf a52dec.tar.gz && cd a52dec && patch -p1 < ../patch-a52dec.patch
./configure --prefix=$CONTRIB && make && make install &&
strip -S $CONTRIB/lib/liba52.a
}
# libavcodec
rule LibAvCodec
{
+ FFMPEG_PATCH = "patch -p1 < ../patch-ffmpeg.patch" ;
if $(OS) = MACOSX && $(OSPLAT) = X86
{
- FFMPEG_OPTIONS = --disable-mmx ;
+ FFMPEG_OPTIONS = --enable-memalign-hack ;
+ # This patch simply don't apply correctly so don't try to do it
+ # FFMPEG_PATCH += " && patch -p1 < ../patch-ffmpeg-macintel.patch" ;
+ }
+ else if $(OS) = CYGWIN
+ {
+ FFMPEG_PATCH += " && patch -p1 < ../patch-ffmpeg-cygwin.patch " ;
}
Depends $(<) : $(>) ;
Depends lib : $(<) ;
actions LibAvCodec
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
- rm -rf ffmpeg && tar xzf ffmpeg.tar.gz && cd ffmpeg &&
- ./configure --prefix=$CONTRIB $(FFMPEG_OPTIONS) --enable-gpl &&
- make -C libavcodec && make -C libavutil &&
- make -C libavcodec installlib && make -C libavutil installlib &&
+ rm -rf ffmpeg && tar xzf ffmpeg.tar.gz &&
+ cd ffmpeg && $(FFMPEG_PATCH) &&
+ ./configure --prefix=$CONTRIB $(FFMPEG_OPTIONS) --enable-gpl --disable-audio-beos --enable-shared --enable-static&&
+ make && make install &&
strip -S $CONTRIB/lib/libavcodec.a
}
Wget $(SUBDIR)/ffmpeg.tar.gz : $(SUBDIR)/version_ffmpeg.txt ;
strip -S $(<)
}
LibAvUtil $(SUBDIR)/lib/libavutil.a : $(SUBDIR)/lib/libavcodec.a ;
+LibAvUtil $(SUBDIR)/lib/libavformat.a : $(SUBDIR)/lib/libavcodec.a ;
+
+# CSS doesn't work on Cygwin/Windows as of now, so don't use it.
+if $(OS) != CYGWIN
+{
+ # libdvdcss
+ # We need libdvdcss.so for libdvdread's configure to work...
+ rule LibDvdCss
+ {
+ Depends $(<) : $(>) ;
+ Depends lib : $(<) ;
+ }
+ actions LibDvdCss
+ {
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf libdvdcss && tar xzf libdvdcss.tar.gz && cd libdvdcss &&
+ ./configure --prefix=$CONTRIB && make && make install &&
+ strip -S $CONTRIB/lib/libdvdcss.a
+ }
+ Wget $(SUBDIR)/libdvdcss.tar.gz : $(SUBDIR)/version_libdvdcss.txt ;
+ LibDvdCss $(SUBDIR)/lib/libdvdcss.a : $(SUBDIR)/libdvdcss.tar.gz ;
+}
-# libdvdcss
-# We need libdvdcss.so for libdvdread's configure to work...
-rule LibDvdCss
+# libdca
+rule LibDCA
{
Depends $(<) : $(>) ;
Depends lib : $(<) ;
}
-actions LibDvdCss
+actions LibDCA
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
- rm -rf libdvdcss && tar xzf libdvdcss.tar.gz && cd libdvdcss &&
- ./configure --prefix=$CONTRIB && make && make install &&
- strip -S $CONTRIB/lib/libdvdcss.a
-}
-Wget $(SUBDIR)/libdvdcss.tar.gz : $(SUBDIR)/version_libdvdcss.txt ;
-LibDvdCss $(SUBDIR)/lib/libdvdcss.a : $(SUBDIR)/libdvdcss.tar.gz ;
+ rm -rf libdca && tar xzf libdca.tar.gz && cd libdca && patch -p1 < ../patch-libdca.patch
+ ./configure && make &&
+ cp libdca/.libs/libdca.a $CONTRIB/lib &&
+ cp include/dca.h $CONTRIB/include &&
+ strip -S $CONTRIB/lib/libdca.a
+}
+Wget $(SUBDIR)/libdca.tar.gz : $(SUBDIR)/version_libdca.txt ;
+LibDCA $(SUBDIR)/lib/libdca.a : $(SUBDIR)/libdca.tar.gz ;
# libdvdread
rule LibDvdRead
{
+ # Not needed anymore since Clee fixed the problem in dvd.c
+ # LIBDVDREAD_PATCH = "patch -p1 < ../patch-libdvdread.patch" ;
Depends $(<) : $(>) ;
Depends lib : $(<) ;
}
-actions LibDvdRead
+if $(OS) != CYGWIN
{
- cd `dirname $(>)` && CONTRIB=`pwd` &&
- rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
- ./configure --prefix=$CONTRIB --disable-shared --with-libdvdcss=$CONTRIB &&
- make && make install &&
- strip -S $CONTRIB/lib/libdvdread.a
+ actions LibDvdRead
+ {
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
+ # $(LIBDVDREAD_PATCH) &&
+ ./configure --prefix=$CONTRIB --disable-shared --with-libdvdcss=$CONTRIB &&
+ make && make install &&
+ strip -S $CONTRIB/lib/libdvdread.a
+ }
+}
+else {
+ # Cygwin/Windows doesn't use CSS as of now, so don't include it on the
+ # configure line.
+ actions LibDvdRead
+ {
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
+ # $(LIBDVDREAD_PATCH) &&
+ ./configure --prefix=$CONTRIB --disable-shared &&
+ make && make install &&
+ strip -S $CONTRIB/lib/libdvdread.a
+ }
}
Wget $(SUBDIR)/libdvdread.tar.gz : $(SUBDIR)/version_libdvdread.txt ;
LibDvdRead $(SUBDIR)/lib/libdvdread.a : $(SUBDIR)/libdvdread.tar.gz ;
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
rm -rf faac && tar xzf faac.tar.gz && cd faac &&
- ./configure --prefix=$CONTRIB --disable-shared &&
+ ./configure --prefix=$CONTRIB --enable-shared --enable-static &&
make && make install &&
strip -S $CONTRIB/lib/libfaac.a
}
Depends $(<) : $(>) ;
Depends lib : $(<) ;
}
-actions LibMp4v2
+if $(OS) != CYGWIN
{
- cd `dirname $(>)` && CONTRIB=`pwd` &&
- rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
- ./bootstrap && make -C lib/mp4v2 libmp4v2.la &&
- cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
- cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \
- include/mpeg4ip_win32.h lib/mp4v2/mp4.h $CONTRIB/include &&
- strip -S $CONTRIB/lib/libmp4v2.a
+ actions LibMp4v2
+ {
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
+ patch -p1 < ../patch-mpeg4ip.patch &&
+ ./bootstrap --disable-mp3lame --disable-faac --disable-x264 --disable-server --disable-player && make -C lib/mp4v2 libmp4v2.la &&
+ cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
+ cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \
+ include/mpeg4ip_win32.h lib/mp4v2/*.h $CONTRIB/include &&
+ strip -S $CONTRIB/lib/libmp4v2.a
+ }
+}
+else
+{
+ actions LibMp4v2
+ {
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
+ patch -p1 < ../patch-mpeg4ip.patch &&
+ patch -p1 < ../patch_mpeg4ip_cygwin.patch && ./bootstrap && make -C lib/mp4v2 libmp4v2.la &&
+ cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
+ cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \
+ include/mpeg4ip_win32.h lib/mp4v2/*.h $CONTRIB/include &&
+ strip -S $CONTRIB/lib/libmp4v2.a
+ }
}
+
Wget $(SUBDIR)/mpeg4ip.tar.gz : $(SUBDIR)/version_mpeg4ip.txt ;
LibMp4v2 $(SUBDIR)/lib/libmp4v2.a : $(SUBDIR)/mpeg4ip.tar.gz ;
# libx264
rule LibX264
{
+ LIBX264_PATCH = "" ;
+ if $(OS) = MACOSX && $(OSPLAT) = X86
+ {
+ LIBX264_PATCH = " patch -p1 < ../patch-x264-macintel.patch && " ;
+ }
+ else if $(OS) = CYGWIN
+ {
+ LIBX264_PATCH = " patch -p1 < ../patch-x264-cygwin.patch && " ;
+ }
+# else if $(OS) = LINUX
+# {
+# LIBX264_PATCH = " patch -p1 < ../patch-x264-linux.patch && " ;
+# }
+ LIBX264_AQ_PATCH = " patch -p0 < ../patch-x264-aq.patch && " ;
Depends $(<) : $(>) ;
Depends lib : $(<) ;
}
actions LibX264
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
- rm -rf x264 && tar xzf x264.tar.gz && cd x264 &&
+ rm -rf x264 && tar xzf x264.tar.gz && cd x264 && $(LIBX264_PATCH) $(LIBX264_AQ_PATCH)
./configure --prefix=$CONTRIB --enable-pthread && make &&
make install &&
strip -S $CONTRIB/lib/libx264.a
# libxvidcore
rule LibXvidCore
{
- if $(OS) = MACOSX && $(OSPLAT) = X86
+ LIBXVIDCORE_PATCH = "" ;
+ if $(OS) = MACOSX
{
- XVID_OPTIONS = --disable-assembly ;
+ LIBXVIDCORE_PATCH = " patch -p1 < ../patch-xvidcore-macosx.patch && " ;
+ }
+ else if $(OS) = CYGWIN
+ {
+ LIBXVIDCORE_PATCH = " patch -p1 < ../patch-xvidcore-cygwin.patch && " ;
}
Depends $(<) : $(>) ;
Depends lib : $(<) ;
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
rm -rf xvidcore && tar xzf xvidcore.tar.gz &&
- cd xvidcore/build/generic/ && ./configure $(XVID_OPTIONS) &&
- make libxvidcore.a &&
+ cd xvidcore && $(LIBXVIDCORE_PATCH)
+ cd build/generic/ && ./configure && make libxvidcore.a &&
cp ./=build/libxvidcore.a $CONTRIB/lib/ &&
cp ../../src/xvid.h $CONTRIB/include/ &&
strip -S $CONTRIB/lib/libxvidcore.a
}
Wget $(SUBDIR)/xvidcore.tar.gz : $(SUBDIR)/version_xvidcore.txt ;
LibXvidCore $(SUBDIR)/lib/libxvidcore.a : $(SUBDIR)/xvidcore.tar.gz ;
+
+# zlib
+if $(OS) = CYGWIN
+{
+rule Zlib
+{
+ Depends $(<) : $(>) ;
+ Depends lib : $(<) ;
+}
+actions Zlib
+{
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf zlib && tar xzf zlib.tar.gz &&
+ cd zlib &&
+ ./configure --prefix=$CONTRIB && make && make install && touch $CONTRIB/.contrib
+ strip -S $CONTRIB/lib/libz.a
+}
+Wget $(SUBDIR)/zlib.tar.gz : $(SUBDIR)/version_zlib.txt ;
+Zlib $(SUBDIR)/lib/libz.a : $(SUBDIR)/zlib.tar.gz ;
+}
+
+rule LibMkv
+{
+ Depends $(<) : $(>) ;
+ Depends lib : $(<) ;
+}
+actions LibMkv
+{
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf libmkv && tar xzf libmkv.tar.gz && cd libmkv &&
+ ./configure --disable-shared --enable-static --prefix=$CONTRIB &&
+ make && make install &&
+ strip -S $CONTRIB/lib/libmkv.a
+}
+Wget $(SUBDIR)/libmkv.tar.gz : $(SUBDIR)/version_libmkv.txt ;
+LibMkv $(SUBDIR)/lib/libmkv.a : $(SUBDIR)/libmkv.tar.gz ;