3 # Use curl on Mac OS X since it's always installed, and assume wget
4 # is installed for all other systems
30 # Wget rule: downloads $(<) from the link in $(>)
38 $(WGET) $(<) `cat $(>)` &&
39 ( touch $(<) || true )
51 cd `dirname $(>)` && CONTRIB=`pwd` &&
52 rm -rf a52dec && (gzip -dc a52dec.tar.gz | tar xf -) &&
53 cd a52dec && $(PATCH) -p1 < ../patch-a52dec.patch &&
54 ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache && $(MAKE) && $(MAKE) install &&
55 $(STRIP) $CONTRIB/lib/liba52.a
57 Wget $(SUBDIR)/a52dec.tar.gz : $(SUBDIR)/version_a52dec.txt ;
58 LibA52 $(SUBDIR)/lib/liba52.a : $(SUBDIR)/a52dec.tar.gz ;
69 cd `dirname $(>)` && CONTRIB=`pwd` &&
70 rm -rf faad2 && (gzip -dc faad2.tar.gz | tar xf -) &&
72 ./bootstrap && ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared && $(MAKE) && $(MAKE) install
74 Wget $(SUBDIR)/faad2.tar.gz : $(SUBDIR)/version_faad2.txt ;
75 LibFaad2 $(SUBDIR)/lib/libfaad.a : $(SUBDIR)/faad2.tar.gz ;
80 FFMPEG_PATCH = "$(PATCH) -p0 < ../patch-ffmpeg.patch" ;
83 FFMPEG_PATCH += " && $(PATCH) -p1 < ../patch-ffmpeg-cygwin.patch " ;
85 else if $(OS) = SOLARIS
87 FFMPEG_PATCH += " && $(PATCH) -p1 < ../patch-ffmpeg-solaris.patch " ;
88 FFMPEG_OPTIONS = " --disable-mmx --extra-cflags=-fpic " ;
95 cd `dirname $(>)` && CONTRIB=`pwd` &&
96 rm -rf ffmpeg && (gzip -dc ffmpeg.tar.gz | tar xf -) &&
97 cd ffmpeg && $(FFMPEG_PATCH) &&
98 ./configure --prefix=$CONTRIB --enable-gpl --enable-pthreads --enable-swscale \
99 --disable-shared --enable-static --disable-encoders \
100 --enable-encoder=mpeg4 --enable-encoder=ac3 --enable-encoder=snow \
101 --enable-libfaad --disable-ffmpeg --disable-ffserver \
102 --disable-muxers --enable-muxer=ipod --disable-bsfs \
103 --extra-cflags="-I$CONTRIB/include" \
104 --extra-ldflags="-L$CONTRIB/lib" &&
105 $(MAKE) && $(MAKE) install &&
106 $(STRIP) $CONTRIB/lib/libavcodec.a
108 Wget $(SUBDIR)/ffmpeg.tar.gz : $(SUBDIR)/version_ffmpeg.txt ;
109 LibAvCodec $(SUBDIR)/lib/libavcodec.a : $(SUBDIR)/ffmpeg.tar.gz ;
113 Depends $(<) : $(>) ;
120 LibAvUtil $(SUBDIR)/lib/libavutil.a : $(SUBDIR)/lib/libavcodec.a ;
121 LibAvUtil $(SUBDIR)/lib/libavformat.a : $(SUBDIR)/lib/libavcodec.a ;
122 LibAvUtil $(SUBDIR)/lib/libswscale.a : $(SUBDIR)/lib/libavcodec.a ;
124 # HandBrake does not include a DVD decrypting library,
125 # so if a user requests it, let them download and compile it from a 3rd party
129 # We need libdvdcss.so for libdvdread's configure to work...
132 Depends $(<) : $(>) ;
137 cd `dirname $(>)` && CONTRIB=`pwd` &&
138 rm -rf libdvdcss-1.2.9 && (gzip -dc libdvdcss.tar.gz | tar xf - ) &&
139 cd libdvdcss-1.2.9 &&
140 ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache && $(MAKE) && $(MAKE) install &&
141 $(STRIP) $CONTRIB/lib/libdvdcss.a
143 Wget $(SUBDIR)/libdvdcss.tar.gz : $(SUBDIR)/version_libdvdcss.txt ;
144 LibDvdCss $(SUBDIR)/lib/libdvdcss.a : $(SUBDIR)/libdvdcss.tar.gz ;
150 Depends $(<) : $(>) ;
155 cd `dirname $(>)` && CONTRIB=`pwd` &&
156 rm -rf libdca && (gzip -dc libdca.tar.gz | tar xf - ) &&
157 cd libdca && $(PATCH) -p1 < ../patch-libdca.patch &&
158 ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache && $(MAKE) && $(MAKE) install &&
159 $(STRIP) $CONTRIB/lib/libdca.a
161 Wget $(SUBDIR)/libdca.tar.gz : $(SUBDIR)/version_libdca.txt ;
162 LibDCA $(SUBDIR)/lib/libdca.a : $(SUBDIR)/libdca.tar.gz ;
167 Depends $(<) : $(>) ;
172 DVDREAD_PATCH = "$(PATCH) -p0 < ../patch-libdvdread-css-vlc-dylib.patch &&" ;
176 if $(CSS) = 1 # Include CSS support in libdvdread if requested
180 cd `dirname $(>)` && CONTRIB=`pwd` &&
181 rm -rf libdvdread && (gzip -dc libdvdread.tar.gz | tar xf - ) &&
183 ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared --with-libdvdcss=$CONTRIB &&
184 $(MAKE) && $(MAKE) install &&
185 $(STRIP) $CONTRIB/lib/libdvdread.a
189 # Cygwin/Windows doesn't use CSS as of now, so don't include it on the
191 # MacOSX uses a dylib for CSS, so it doesn't need including there either.
194 cd `dirname $(>)` && CONTRIB=`pwd` &&
195 rm -rf libdvdread && (gzip -dc libdvdread.tar.gz | tar xf - ) &&
196 cd libdvdread && $(DVDREAD_PATCH)
197 ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
198 $(MAKE) && $(MAKE) install &&
199 $(STRIP) $CONTRIB/lib/libdvdread.a
202 Wget $(SUBDIR)/libdvdread.tar.gz : $(SUBDIR)/version_libdvdread.txt ;
203 LibDvdRead $(SUBDIR)/lib/libdvdread.a : $(SUBDIR)/libdvdread.tar.gz ;
208 Depends $(<) : $(>) ;
213 cd `dirname $(>)` && CONTRIB=`pwd` &&
214 rm -rf faac && (gzip -dc faac.tar.gz | tar xf - ) && cd faac &&
215 ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared --enable-static &&
216 $(MAKE) && $(MAKE) install &&
217 $(STRIP) $CONTRIB/lib/libfaac.a
219 Wget $(SUBDIR)/faac.tar.gz : $(SUBDIR)/version_faac.txt ;
220 LibFaac $(SUBDIR)/lib/libfaac.a : $(SUBDIR)/faac.tar.gz ;
225 Depends $(<) : $(>) ;
230 cd `dirname $(>)` && CONTRIB=`pwd` &&
231 rm -rf lame && (gzip -dc lame.tar.gz | tar xf - ) && cd lame &&
232 ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
233 $(MAKE) && $(MAKE) install &&
234 $(STRIP) $CONTRIB/lib/libmp3lame.a
236 Wget $(SUBDIR)/lame.tar.gz : $(SUBDIR)/version_lame.txt ;
237 LibMp3Lame $(SUBDIR)/lib/libmp3lame.a : $(SUBDIR)/lame.tar.gz ;
242 LIBMP4V2_PATCH = "" ;
245 LIBMP4V2_PATCH += "$(PATCH) -p1 < ../patch_mpeg4ip_cygwin.patch && " ;
247 LIBMP4V2_PATCH += "$(PATCH) -p1 < ../patch-mpeg4ip.patch && " ;
248 LIBMP4V2_PATCH += "$(PATCH) -p1 < ../patch-mpeg4ip-nasm-2.00-configure.patch && " ;
249 LIBMP4V2_PATCH += "$(PATCH) -p1 < ../patch-mpeg4ip-ac3.patch && " ;
250 Depends $(<) : $(>) ;
255 cd `dirname $(>)` && CONTRIB=`pwd` &&
256 rm -rf mpeg4ip && (gzip -dc mpeg4ip.tar.gz | tar xf - ) &&
257 cd mpeg4ip && $(LIBMP4V2_PATCH)
258 ./bootstrap --cache-file=$CONTRIB/config.cache --disable-mp3lame --disable-faac --disable-x264 --disable-server --disable-player &&
259 $(MAKE) -C lib/mp4v2 libmp4v2.la && cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
260 cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \
261 include/mpeg4ip_win32.h lib/mp4v2/*.h $CONTRIB/include &&
262 $(STRIP) $CONTRIB/lib/libmp4v2.a
264 Wget $(SUBDIR)/mpeg4ip.tar.gz : $(SUBDIR)/version_mpeg4ip.txt ;
265 LibMp4v2 $(SUBDIR)/lib/libmp4v2.a : $(SUBDIR)/mpeg4ip.tar.gz ;
269 Depends $(<) : $(>) ;
274 cd `dirname $(>)` && CONTRIB=`pwd` &&
275 rm -rf libmkv && (gzip -dc libmkv.tar.gz | tar xf - ) &&
277 ./configure --disable-shared --enable-static --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache &&
278 $(MAKE) && $(MAKE) install &&
279 $(STRIP) $CONTRIB/lib/libmkv.a
281 Wget $(SUBDIR)/libmkv.tar.gz : $(SUBDIR)/version_libmkv.txt ;
282 LibMkv $(SUBDIR)/lib/libmkv.a : $(SUBDIR)/libmkv.tar.gz ;
287 Depends $(<) : $(>) ;
292 cd `dirname $(>)` && CONTRIB=`pwd` &&
293 rm -rf mpeg2dec && (gzip -dc mpeg2dec.tar.gz | tar xf - ) &&
294 cd mpeg2dec && $(PATCH) -p1 < ../patch-libmpeg2.patch &&
295 ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared --disable-sdl &&
296 $(MAKE) && $(MAKE) install &&
297 $(STRIP) $CONTRIB/lib/libmpeg2.a
299 Wget $(SUBDIR)/mpeg2dec.tar.gz : $(SUBDIR)/version_mpeg2dec.txt ;
300 LibMpeg2 $(SUBDIR)/lib/libmpeg2.a : $(SUBDIR)/mpeg2dec.tar.gz ;
305 Depends $(<) : $(>) ;
310 cd `dirname $(>)` && CONTRIB=`pwd` &&
311 rm -rf libogg && (gzip -dc libogg.tar.gz | tar xf - ) &&
313 ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
314 $(MAKE) && $(MAKE) install &&
315 $(STRIP) $CONTRIB/lib/libogg.a
317 Wget $(SUBDIR)/libogg.tar.gz : $(SUBDIR)/version_libogg.txt ;
318 LibOgg $(SUBDIR)/lib/libogg.a : $(SUBDIR)/libogg.tar.gz ;
323 Depends $(<) : $(>) ;
326 actions LibSampleRate
328 cd `dirname $(>)` && CONTRIB=`pwd` &&
329 rm -rf libsamplerate && (gzip -dc libsamplerate.tar.gz | tar xf - ) &&
331 ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
332 $(MAKE) && $(MAKE) install &&
333 $(STRIP) $CONTRIB/lib/libsamplerate.a
335 Wget $(SUBDIR)/libsamplerate.tar.gz : $(SUBDIR)/version_libsamplerate.txt ;
336 LibSampleRate $(SUBDIR)/lib/libsamplerate.a : $(SUBDIR)/libsamplerate.tar.gz ;
341 Depends $(<) : $(>) ;
346 cd `dirname $(>)` && CONTRIB=`pwd` &&
347 rm -rf libvorbis && (gzip -dc libvorbis.tar.gz | tar xf - ) &&
349 ./configure --prefix=$CONTRIB --with-ogg=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
350 $(MAKE) && $(MAKE) install &&
351 $(STRIP) $CONTRIB/lib/libvorbis.a
353 Wget $(SUBDIR)/libvorbis.tar.gz : $(SUBDIR)/version_libvorbis.txt ;
354 LibVorbis $(SUBDIR)/lib/libvorbis.a : $(SUBDIR)/libvorbis.tar.gz ;
358 Depends $(<) : $(>) ;
365 LibVorbisEnc $(SUBDIR)/lib/libvorbisenc.a : $(SUBDIR)/lib/libvorbis.a ;
370 Depends $(<) : $(>) ;
375 cd `dirname $(>)` && CONTRIB=`pwd` && rm -rf libtheora &&
376 (gzip -dc libtheora.tar.gz | tar xf - ) && cd libtheora &&
377 ./configure --prefix=$CONTRIB --with-ogg=$CONTRIB --with-vorbis=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared \
378 --disable-oggtest --disable-vorbistest --disable-sdltest --disable-examples &&
379 $(MAKE) && $(MAKE) install &&
380 $(STRIP) $CONTRIB/lib/libtheora.a
382 Wget $(SUBDIR)/libtheora.tar.gz : $(SUBDIR)/version_libtheora.txt ;
383 LibTheora $(SUBDIR)/lib/libtheora.a : $(SUBDIR)/libtheora.tar.gz ;
391 LIBX264_PATCH += "$(PATCH) -p1 < ../patch-x264-cygwin.patch && " ;
393 else if $(OS) = SOLARIS
395 LIBX264_PATCH += " $(PATCH) -p1 < ../patch-x264-solaris.patch && " ;
397 LIBX264_PATCH += "$(PATCH) -p0 < ../patch-x264-idr.patch && " ;
398 LIBX264_PATCH += "$(PATCH) -p0 < ../patch-x264-vbv-2pass.patch && " ;
399 Depends $(<) : $(>) ;
404 cd `dirname $(>)` && CONTRIB=`pwd` &&
405 rm -rf x264 && (gzip -dc x264.tar.gz | tar xf - ) &&
406 cd x264 && $(LIBX264_PATCH)
407 bash ./configure --prefix=$CONTRIB --enable-pthread &&
408 $(MAKE) libx264.a && cp libx264.a $CONTRIB/lib/ && cp x264.h $CONTRIB/include/ && $(STRIP) $CONTRIB/lib/libx264.a
410 Wget $(SUBDIR)/x264.tar.gz : $(SUBDIR)/version_x264.txt ;
411 LibX264 $(SUBDIR)/lib/libx264.a : $(SUBDIR)/x264.tar.gz ;
416 LIBXVIDCORE_PATCH = "" ;
419 LIBXVIDCORE_PATCH = "$(PATCH) -p1 < ../patch-xvidcore-macosx.patch && " ;
421 else if $(OS) = CYGWIN
423 LIBXVIDCORE_PATCH = "$(PATCH) -p1 < ../patch-xvidcore-cygwin.patch && " ;
425 LIBXVIDCORE_PATCH += "$(PATCH) -p1 < ../patch-xvidcore-nasm-2.00-configure.patch && " ;
426 LIBXVIDCORE_PATCH += "$(PATCH) -p1 < ../patch-xvidcore-fdct.patch && " ;
427 Depends $(<) : $(>) ;
432 cd `dirname $(>)` && CONTRIB=`pwd` &&
433 rm -rf xvidcore && (gzip -dc xvidcore.tar.gz | tar xf - ) &&
434 cd xvidcore && $(LIBXVIDCORE_PATCH)
435 cd build/generic/ && ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache && $(MAKE) libxvidcore.a &&
436 cp ./=build/libxvidcore.a $CONTRIB/lib/ &&
437 cp ../../src/xvid.h $CONTRIB/include/ &&
438 $(STRIP) $CONTRIB/lib/libxvidcore.a
440 Wget $(SUBDIR)/xvidcore.tar.gz : $(SUBDIR)/version_xvidcore.txt ;
441 LibXvidCore $(SUBDIR)/lib/libxvidcore.a : $(SUBDIR)/xvidcore.tar.gz ;
448 Depends $(<) : $(>) ;
453 cd `dirname $(>)` && CONTRIB=`pwd` &&
454 rm -rf zlib && (gzip -dc zlib.tar.gz | tar xf - ) &&
455 cd zlib && ./configure --prefix=$CONTRIB &&
456 $(MAKE) && $(MAKE) install && touch $CONTRIB/.contrib &&
457 $(STRIP) $CONTRIB/lib/libz.a
459 Wget $(SUBDIR)/zlib.tar.gz : $(SUBDIR)/version_zlib.txt ;
460 Zlib $(SUBDIR)/lib/libz.a : $(SUBDIR)/zlib.tar.gz ;