OSDN Git Service

92666a903b520e086476d52b3a675c5b51910e41
[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     FFMPEG_PATCH = "patch -p1 < ../patch-ffmpeg.patch" ;
46     if $(OS) = MACOSX && $(OSPLAT) = X86
47     {
48        FFMPEG_OPTIONS  = --enable-memalign-hack ;
49        FFMPEG_PATCH   += " && patch -p1 < ../patch-ffmpeg-macintel.patch" ;
50     }
51     Depends $(<) : $(>) ;
52     Depends lib  : $(<) ;
53 }
54 actions LibAvCodec
55 {
56     cd `dirname $(>)` && CONTRIB=`pwd` &&
57     rm -rf ffmpeg && tar xzf ffmpeg.tar.gz &&
58     cd ffmpeg && $(FFMPEG_PATCH) &&
59     ./configure --prefix=$CONTRIB $(FFMPEG_OPTIONS) --enable-gpl --disable-audio-beos &&
60     make lib && make install-libs install-headers &&
61     strip -S $CONTRIB/lib/libavcodec.a
62 }
63 Wget       $(SUBDIR)/ffmpeg.tar.gz    : $(SUBDIR)/version_ffmpeg.txt ;
64 LibAvCodec $(SUBDIR)/lib/libavcodec.a : $(SUBDIR)/ffmpeg.tar.gz ;
65
66 rule LibAvUtil
67 {
68     Depends $(<) : $(>) ;
69     Depends lib  : $(<) ;
70 }
71 actions LibAvUtil
72 {
73     strip -S $(<)
74 }
75 LibAvUtil $(SUBDIR)/lib/libavutil.a : $(SUBDIR)/lib/libavcodec.a ;
76 LibAvUtil $(SUBDIR)/lib/libavformat.a : $(SUBDIR)/lib/libavcodec.a ;
77
78 # libdvdcss
79 # We need libdvdcss.so for libdvdread's configure to work...
80 rule LibDvdCss
81 {
82     Depends $(<) : $(>) ;
83     Depends lib  : $(<) ;
84 }
85 actions LibDvdCss
86 {
87     cd `dirname $(>)` && CONTRIB=`pwd` &&
88     rm -rf libdvdcss && tar xzf libdvdcss.tar.gz && cd libdvdcss &&
89     ./configure --prefix=$CONTRIB && make && make install &&
90     strip -S $CONTRIB/lib/libdvdcss.a
91 }
92 Wget      $(SUBDIR)/libdvdcss.tar.gz : $(SUBDIR)/version_libdvdcss.txt ;
93 LibDvdCss $(SUBDIR)/lib/libdvdcss.a  : $(SUBDIR)/libdvdcss.tar.gz ;
94
95 # libdvdread
96 rule LibDvdRead
97 {
98     LIBDVDREAD_PATCH = "patch -p1 < ../patch-libdvdread.patch" ;
99     Depends $(<) : $(>) ;
100     Depends lib  : $(<) ;
101 }
102 actions LibDvdRead
103 {
104     cd `dirname $(>)` && CONTRIB=`pwd` &&
105     rm -rf libdvdread && tar xzf libdvdread.tar.gz && cd libdvdread &&
106     $(LIBDVDREAD_PATCH) &&
107     ./configure --prefix=$CONTRIB --disable-shared --with-libdvdcss=$CONTRIB &&
108     make && make install &&
109     strip -S $CONTRIB/lib/libdvdread.a
110 }
111 Wget       $(SUBDIR)/libdvdread.tar.gz : $(SUBDIR)/version_libdvdread.txt ;
112 LibDvdRead $(SUBDIR)/lib/libdvdread.a  : $(SUBDIR)/libdvdread.tar.gz ;
113
114 # libfaac
115 rule LibFaac
116 {
117     Depends $(<) : $(>) ;
118     Depends lib  : $(<) ;
119 }
120 actions LibFaac
121 {
122     cd `dirname $(>)` && CONTRIB=`pwd` &&
123     rm -rf faac && tar xzf faac.tar.gz && cd faac &&
124     ./configure --prefix=$CONTRIB --disable-shared &&
125     make && make install &&
126     strip -S $CONTRIB/lib/libfaac.a
127 }
128 Wget    $(SUBDIR)/faac.tar.gz   : $(SUBDIR)/version_faac.txt ;
129 LibFaac $(SUBDIR)/lib/libfaac.a : $(SUBDIR)/faac.tar.gz ;
130
131 # libmp3lame
132 rule LibMp3Lame
133 {
134     Depends $(<) : $(>) ;
135     Depends lib  : $(<) ;
136 }
137 actions LibMp3Lame
138 {
139     cd `dirname $(>)` && CONTRIB=`pwd` &&
140     rm -rf lame && tar xzf lame.tar.gz && cd lame &&
141     ./configure --prefix=$CONTRIB --disable-shared &&
142     make && make install &&
143     strip -S $CONTRIB/lib/libmp3lame.a
144 }
145 Wget       $(SUBDIR)/lame.tar.gz      : $(SUBDIR)/version_lame.txt ;
146 LibMp3Lame $(SUBDIR)/lib/libmp3lame.a : $(SUBDIR)/lame.tar.gz ;
147
148 # libmpeg2
149 rule LibMpeg2
150 {
151     Depends $(<) : $(>) ;
152     Depends lib  : $(<) ;
153 }
154 actions LibMpeg2
155 {
156     cd `dirname $(>)` && CONTRIB=`pwd` &&
157     rm -rf mpeg2dec && tar xzf mpeg2dec.tar.gz && cd mpeg2dec &&
158     ./configure --prefix=$CONTRIB --disable-shared &&
159     make && make install &&
160     strip -S $CONTRIB/lib/libmpeg2.a
161 }
162 Wget     $(SUBDIR)/mpeg2dec.tar.gz : $(SUBDIR)/version_mpeg2dec.txt ;
163 LibMpeg2 $(SUBDIR)/lib/libmpeg2.a  : $(SUBDIR)/mpeg2dec.tar.gz ;
164
165 # libogg
166 rule LibOgg
167 {
168     Depends $(<) : $(>) ;
169     Depends lib  : $(<) ;
170 }
171 actions LibOgg
172 {
173     cd `dirname $(>)` && CONTRIB=`pwd` &&
174     rm -rf libogg && tar xzf libogg.tar.gz && cd libogg &&
175     ./configure --prefix=$CONTRIB --disable-shared &&
176     make && make install &&
177     strip -S $CONTRIB/lib/libogg.a
178 }
179 Wget   $(SUBDIR)/libogg.tar.gz : $(SUBDIR)/version_libogg.txt ;
180 LibOgg $(SUBDIR)/lib/libogg.a  : $(SUBDIR)/libogg.tar.gz ;
181
182 # libsamplerate
183 rule LibSampleRate
184 {
185     Depends $(<) : $(>) ;
186     Depends lib  : $(<) ;
187 }
188 actions LibSampleRate
189 {
190     cd `dirname $(>)` && CONTRIB=`pwd` &&
191     rm -rf libsamplerate && tar xzf libsamplerate.tar.gz && cd libsamplerate &&
192     ./configure --prefix=$CONTRIB --disable-shared &&
193     make && make install &&
194     strip -S $CONTRIB/lib/libsamplerate.a
195 }
196 Wget          $(SUBDIR)/libsamplerate.tar.gz : $(SUBDIR)/version_libsamplerate.txt ;
197 LibSampleRate $(SUBDIR)/lib/libsamplerate.a  : $(SUBDIR)/libsamplerate.tar.gz ;
198
199 # libvorbis
200 rule LibVorbis
201 {
202     Depends $(<) : $(>) ;
203     Depends lib  : $(<) ;
204 }
205 actions LibVorbis
206 {
207     cd `dirname $(>)` && CONTRIB=`pwd` &&
208     rm -rf libvorbis && tar xzf libvorbis.tar.gz && cd libvorbis &&
209     ./configure --prefix=$CONTRIB --with-ogg=$CONTRIB --disable-shared &&
210     make && make install &&
211     strip -S $CONTRIB/lib/libvorbis.a
212 }
213 Wget      $(SUBDIR)/libvorbis.tar.gz : $(SUBDIR)/version_libvorbis.txt ;
214 LibVorbis $(SUBDIR)/lib/libvorbis.a  : $(SUBDIR)/libvorbis.tar.gz ;
215
216 rule LibVorbisEnc
217 {
218     Depends $(<) : $(>) ;
219     Depends lib  : $(<) ;
220 }
221 actions LibVorbisEnc
222 {
223     strip -S $(<)
224 }
225 LibVorbisEnc $(SUBDIR)/lib/libvorbisenc.a : $(SUBDIR)/lib/libvorbis.a ;
226
227 # libx264
228 rule LibX264
229 {
230     LIBX264_PATCH = "" ;
231     if $(OS) = MACOSX && $(OSPLAT) = X86
232     {
233         LIBX264_PATCH = " patch -p1 < ../patch-x264-macintel.patch && " ;
234     }
235     Depends $(<) : $(>) ;
236     Depends lib  : $(<) ;
237 }
238 actions LibX264
239 {
240     cd `dirname $(>)` && CONTRIB=`pwd` &&
241     rm -rf x264 && tar xzf x264.tar.gz && cd x264 && $(LIBX264_PATCH)
242     ./configure --prefix=$CONTRIB --enable-pthread && make &&
243     make install &&
244     strip -S $CONTRIB/lib/libx264.a
245 }
246 Wget    $(SUBDIR)/x264.tar.gz   : $(SUBDIR)/version_x264.txt ;
247 LibX264 $(SUBDIR)/lib/libx264.a : $(SUBDIR)/x264.tar.gz ;
248
249 # libxvidcore
250 rule LibXvidCore
251 {
252     Depends $(<) : $(>) ;
253     Depends lib  : $(<) ;
254 }
255 actions LibXvidCore
256 {
257     cd `dirname $(>)` && CONTRIB=`pwd` &&
258     rm -rf xvidcore && tar xzf xvidcore.tar.gz &&
259     cd xvidcore && patch -p1 < ../patch-xvidcore.patch &&
260     cd build/generic/ && ./configure && make libxvidcore.a &&
261     cp ./=build/libxvidcore.a $CONTRIB/lib/ &&
262     cp ../../src/xvid.h $CONTRIB/include/ &&
263     strip -S $CONTRIB/lib/libxvidcore.a
264 }
265 Wget        $(SUBDIR)/xvidcore.tar.gz   : $(SUBDIR)/version_xvidcore.txt ;
266 LibXvidCore $(SUBDIR)/lib/libxvidcore.a : $(SUBDIR)/xvidcore.tar.gz ;