OSDN Git Service

Fixed ffmpeg build on MacIntel
[handbrake-jp/handbrake-jp-git.git] / contrib / Jamfile
1 SubDir TOP contrib ;
2
3 # Use curl on Mac OS X since it's always installed, and assume wget
4 # is installed for all other systems
5 if $(OS) = MACOSX
6 {
7     WGET = curl -o ;
8 }
9 else
10 {
11     WGET = wget -O ;
12 }
13
14 # Wget rule: downloads $(<) from the link in $(>)
15 rule Wget
16 {
17     Depends $(<) : $(>) ;
18 }
19 actions Wget
20 {
21     $(RM) $(<) &&
22     $(WGET) $(<) `cat $(>)` &&
23     ( touch $(<) || true )
24 }
25
26 # liba52
27 rule LibA52
28 {
29     Depends $(<) : $(>) ;
30     Depends lib  : $(<) ;
31 }
32 actions LibA52
33 {
34     cd `dirname $(>)` && CONTRIB=`pwd` &&
35     rm -rf a52dec && tar xzf a52dec.tar.gz && cd a52dec &&
36     ./configure --prefix=$CONTRIB && make && make install &&
37     strip -S $CONTRIB/lib/liba52.a
38 }
39 Wget   $(SUBDIR)/a52dec.tar.gz : $(SUBDIR)/version_a52dec.txt ;
40 LibA52 $(SUBDIR)/lib/liba52.a  : $(SUBDIR)/a52dec.tar.gz ;
41
42 # libavcodec
43 rule LibAvCodec
44 {
45     if $(OS) = MACOSX && $(OSPLAT) = X86
46     {
47        FFMPEG_OPTIONS = --disable-mmx ;
48     }
49     Depends $(<) : $(>) ;
50     Depends lib  : $(<) ;
51 }
52 actions LibAvCodec
53 {
54     cd `dirname $(>)` && CONTRIB=`pwd` &&
55     rm -rf ffmpeg && tar xzf ffmpeg.tar.gz && cd ffmpeg &&
56     ./configure --prefix=$CONTRIB $(FFMPEG_OPTIONS) --enable-gpl &&
57     make -C libavcodec && make -C libavutil &&
58     make -C libavcodec installlib && make -C libavutil installlib &&
59     strip -S $CONTRIB/lib/libavcodec.a
60 }
61 Wget       $(SUBDIR)/ffmpeg.tar.gz    : $(SUBDIR)/version_ffmpeg.txt ;
62 LibAvCodec $(SUBDIR)/lib/libavcodec.a : $(SUBDIR)/ffmpeg.tar.gz ;
63
64 rule LibAvUtil
65 {
66     Depends $(<) : $(>) ;
67     Depends lib  : $(<) ;
68 }
69 actions LibAvUtil
70 {
71     strip -S $(<)
72 }
73 LibAvUtil $(SUBDIR)/lib/libavutil.a : $(SUBDIR)/lib/libavcodec.a ;
74
75 # libdvdcss
76 # We need libdvdcss.so for libdvdread's configure to work...
77 rule LibDvdCss
78 {
79     Depends $(<) : $(>) ;
80     Depends lib  : $(<) ;
81 }
82 actions LibDvdCss
83 {
84     cd `dirname $(>)` && CONTRIB=`pwd` &&
85     rm -rf libdvdcss && tar xzf libdvdcss.tar.gz && cd libdvdcss &&
86     ./configure --prefix=$CONTRIB && make && make install &&
87     strip -S $CONTRIB/lib/libdvdcss.a
88 }
89 Wget      $(SUBDIR)/libdvdcss.tar.gz : $(SUBDIR)/version_libdvdcss.txt ;
90 LibDvdCss $(SUBDIR)/lib/libdvdcss.a  : $(SUBDIR)/libdvdcss.tar.gz ;
91
92 # libdvdread
93 rule LibDvdRead
94 {
95     Depends $(<) : $(>) ;
96     Depends lib  : $(<) ;
97 }
98 actions LibDvdRead
99 {
100     cd `dirname $(>)` && CONTRIB=`pwd` &&
101     rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
102     ./configure --prefix=$CONTRIB --disable-shared --with-libdvdcss=$CONTRIB &&
103     make && make install &&
104     strip -S $CONTRIB/lib/libdvdread.a
105 }
106 Wget       $(SUBDIR)/libdvdread.tar.gz : $(SUBDIR)/version_libdvdread.txt ;
107 LibDvdRead $(SUBDIR)/lib/libdvdread.a  : $(SUBDIR)/libdvdread.tar.gz ;
108
109 # libfaac
110 rule LibFaac
111 {
112     Depends $(<) : $(>) ;
113     Depends lib  : $(<) ;
114 }
115 actions LibFaac
116 {
117     cd `dirname $(>)` && CONTRIB=`pwd` &&
118     rm -rf faac && tar xzf faac.tar.gz && cd faac &&
119     ./configure --prefix=$CONTRIB --disable-shared &&
120     make && make install &&
121     strip -S $CONTRIB/lib/libfaac.a
122 }
123 Wget    $(SUBDIR)/faac.tar.gz   : $(SUBDIR)/version_faac.txt ;
124 LibFaac $(SUBDIR)/lib/libfaac.a : $(SUBDIR)/faac.tar.gz ;
125
126 # libmp3lame
127 rule LibMp3Lame
128 {
129     Depends $(<) : $(>) ;
130     Depends lib  : $(<) ;
131 }
132 actions LibMp3Lame
133 {
134     cd `dirname $(>)` && CONTRIB=`pwd` &&
135     rm -rf lame && tar xzf lame.tar.gz && cd lame &&
136     ./configure --prefix=$CONTRIB --disable-shared &&
137     make && make install &&
138     strip -S $CONTRIB/lib/libmp3lame.a
139 }
140 Wget       $(SUBDIR)/lame.tar.gz      : $(SUBDIR)/version_lame.txt ;
141 LibMp3Lame $(SUBDIR)/lib/libmp3lame.a : $(SUBDIR)/lame.tar.gz ;
142
143 # libmp4v2
144 rule LibMp4v2
145 {
146     Depends $(<) : $(>) ;
147     Depends lib  : $(<) ;
148 }
149 actions LibMp4v2
150 {
151     cd `dirname $(>)` && CONTRIB=`pwd` &&
152     rm -rf mpeg4ip && tar xzf mpeg4ip.tar.gz && cd mpeg4ip &&
153     ./bootstrap && make -C lib/mp4v2 libmp4v2.la &&
154     cp lib/mp4v2/.libs/libmp4v2.a $CONTRIB/lib &&
155     cp mpeg4ip_config.h include/mpeg4ip.h include/mpeg4ip_version.h \
156       include/mpeg4ip_win32.h lib/mp4v2/mp4.h $CONTRIB/include &&
157     strip -S $CONTRIB/lib/libmp4v2.a
158 }
159 Wget     $(SUBDIR)/mpeg4ip.tar.gz : $(SUBDIR)/version_mpeg4ip.txt ;
160 LibMp4v2 $(SUBDIR)/lib/libmp4v2.a : $(SUBDIR)/mpeg4ip.tar.gz ;
161
162 # libmpeg2
163 rule LibMpeg2
164 {
165     Depends $(<) : $(>) ;
166     Depends lib  : $(<) ;
167 }
168 actions LibMpeg2
169 {
170     cd `dirname $(>)` && CONTRIB=`pwd` &&
171     rm -rf mpeg2dec && tar xzf mpeg2dec.tar.gz && cd mpeg2dec &&
172     ./configure --prefix=$CONTRIB --disable-shared &&
173     make && make install &&
174     strip -S $CONTRIB/lib/libmpeg2.a
175 }
176 Wget     $(SUBDIR)/mpeg2dec.tar.gz : $(SUBDIR)/version_mpeg2dec.txt ;
177 LibMpeg2 $(SUBDIR)/lib/libmpeg2.a  : $(SUBDIR)/mpeg2dec.tar.gz ;
178
179 # libogg
180 rule LibOgg
181 {
182     Depends $(<) : $(>) ;
183     Depends lib  : $(<) ;
184 }
185 actions LibOgg
186 {
187     cd `dirname $(>)` && CONTRIB=`pwd` &&
188     rm -rf libogg && tar xzf libogg.tar.gz && cd libogg &&
189     ./configure --prefix=$CONTRIB --disable-shared &&
190     make && make install &&
191     strip -S $CONTRIB/lib/libogg.a
192 }
193 Wget   $(SUBDIR)/libogg.tar.gz : $(SUBDIR)/version_libogg.txt ;
194 LibOgg $(SUBDIR)/lib/libogg.a  : $(SUBDIR)/libogg.tar.gz ;
195
196 # libsamplerate
197 rule LibSampleRate
198 {
199     Depends $(<) : $(>) ;
200     Depends lib  : $(<) ;
201 }
202 actions LibSampleRate
203 {
204     cd `dirname $(>)` && CONTRIB=`pwd` &&
205     rm -rf libsamplerate && tar xzf libsamplerate.tar.gz && cd libsamplerate &&
206     ./configure --prefix=$CONTRIB --disable-shared &&
207     make && make install &&
208     strip -S $CONTRIB/lib/libsamplerate.a
209 }
210 Wget          $(SUBDIR)/libsamplerate.tar.gz : $(SUBDIR)/version_libsamplerate.txt ;
211 LibSampleRate $(SUBDIR)/lib/libsamplerate.a  : $(SUBDIR)/libsamplerate.tar.gz ;
212
213 # libvorbis
214 rule LibVorbis
215 {
216     Depends $(<) : $(>) ;
217     Depends lib  : $(<) ;
218 }
219 actions LibVorbis
220 {
221     cd `dirname $(>)` && CONTRIB=`pwd` &&
222     rm -rf libvorbis && tar xzf libvorbis.tar.gz && cd libvorbis &&
223     ./configure --prefix=$CONTRIB --with-ogg=$CONTRIB --disable-shared &&
224     make && make install &&
225     strip -S $CONTRIB/lib/libvorbis.a
226 }
227 Wget      $(SUBDIR)/libvorbis.tar.gz : $(SUBDIR)/version_libvorbis.txt ;
228 LibVorbis $(SUBDIR)/lib/libvorbis.a  : $(SUBDIR)/libvorbis.tar.gz ;
229
230 rule LibVorbisEnc
231 {
232     Depends $(<) : $(>) ;
233     Depends lib  : $(<) ;
234 }
235 actions LibVorbisEnc
236 {
237     strip -S $(<)
238 }
239 LibVorbisEnc $(SUBDIR)/lib/libvorbisenc.a : $(SUBDIR)/lib/libvorbis.a ;
240
241 # libx264
242 rule LibX264
243 {
244     Depends $(<) : $(>) ;
245     Depends lib  : $(<) ;
246 }
247 actions LibX264
248 {
249     cd `dirname $(>)` && CONTRIB=`pwd` &&
250     rm -rf x264 && tar xzf x264.tar.gz && cd x264 &&
251     ./configure --prefix=$CONTRIB --enable-pthread && make &&
252     make install &&
253     strip -S $CONTRIB/lib/libx264.a
254 }
255 Wget    $(SUBDIR)/x264.tar.gz   : $(SUBDIR)/version_x264.txt ;
256 LibX264 $(SUBDIR)/lib/libx264.a : $(SUBDIR)/x264.tar.gz ;
257
258 # libxvidcore
259 rule LibXvidCore
260 {
261     if $(OS) = MACOSX && $(OSPLAT) = X86
262     {
263        XVID_OPTIONS = --disable-assembly ;
264     }
265     Depends $(<) : $(>) ;
266     Depends lib  : $(<) ;
267 }
268 actions LibXvidCore
269 {
270     cd `dirname $(>)` && CONTRIB=`pwd` &&
271     rm -rf xvidcore && tar xzf xvidcore.tar.gz &&
272     cd xvidcore/build/generic/ && ./configure $(XVID_OPTIONS) &&
273     make libxvidcore.a &&
274     cp ./=build/libxvidcore.a $CONTRIB/lib/ &&
275     cp ../../src/xvid.h $CONTRIB/include/ &&
276     strip -S $CONTRIB/lib/libxvidcore.a
277 }
278 Wget        $(SUBDIR)/xvidcore.tar.gz   : $(SUBDIR)/version_xvidcore.txt ;
279 LibXvidCore $(SUBDIR)/lib/libxvidcore.a : $(SUBDIR)/xvidcore.tar.gz ;