]> git.sesse.net Git - vlc/blob - debian/rules
* debian/rules:
[vlc] / debian / rules
1 #!/usr/bin/make -f
2 # debian/rules for the VLC media player - uses debhelper.
3 # $Id$
4 # based on Joey Hess's one.
5
6 # Uncomment this to turn on verbose mode.
7 #export DH_VERBOSE=1
8 include /usr/share/dpatch/dpatch.make
9
10 #
11 # Compilation options
12 #
13
14 CONFIG_FLAGS = --enable-release --prefix=/usr
15 CONFIG_FLAGS += \
16         --enable-gnome \
17         --enable-gtk \
18         --disable-familiar \
19         --disable-fb \
20         --enable-ggi \
21         --enable-sdl \
22         --enable-esd \
23         --enable-qt \
24         --enable-mad \
25         --enable-arts \
26         --enable-alsa \
27         --enable-lirc \
28         --enable-a52 \
29         --enable-aa \
30         --enable-dvbpsi \
31         --enable-xosd \
32         --enable-mozilla \
33         --enable-kde \
34         --enable-mp4 \
35         --enable-dvb \
36         --enable-dv \
37         --disable-satellite \
38         --enable-ogg \
39         --enable-vorbis \
40         --enable-wxwindows \
41         --enable-slp \
42         --enable-flac \
43         --disable-skins \
44         --disable-basic-skins \
45         --enable-skins2 \
46         --enable-freetype \
47         --enable-mkv \
48         --enable-v4l \
49         --enable-pvr \
50         --enable-speex \
51         --enable-caca \
52         --enable-livedotcom \
53         --enable-libmpeg2 \
54         --enable-dts \
55         --enable-fribidi \
56         --enable-cdio \
57         --enable-mod \
58         --enable-theora \
59         $(NULL)
60
61 # These ones are currently shipped with VLC
62 CONFIG_FLAGS += --enable-ffmpeg --with-ffmpeg-tree=extras/ffmpeg
63 CONFIG_FLAGS += --enable-faad --with-faad-tree=extras/faad2
64
65 # Glide and svgalib are only for x86
66 ifeq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386)
67 CONFIG_FLAGS += --enable-glide
68 CONFIG_FLAGS += --enable-svgalib
69 endif
70
71 # Remove --without-dvdcss in non-totalitarian countries
72 CONFIG_FLAGS += --enable-dvd --without-dvdcss
73
74 # A few shortcuts
75 VIDDIR = usr/share/vlc
76 PIXDIR = usr/share/pixmaps
77 GNOMEDIR = usr/share/gnome/apps/Multimedia
78
79 #
80 # Build rules
81 #
82
83 configure: configure-stamp
84 configure-stamp:
85         dh_testdir
86
87         # Touch stuff
88         touch configure.ac
89         touch aclocal.m4
90         touch configure
91         touch config.h.in
92         touch `find . -name Makefile.in`
93
94         # Check that we have an ffmpeg tree in here (can be a symlink)
95         test -d extras/ffmpeg
96         if test ! '(' -d CVS -o -d .svn ')'; then \
97           cd extras/ffmpeg \
98           && CC=$(CC) ./configure --enable-pp --enable-gpl --enable-zlib --disable-debug \
99           && cd libavcodec \
100           && $(MAKE); \
101         fi
102
103         # Check that we have an faad2 tree in here (can be a symlink)
104         test -d extras/faad2
105         if test ! '(' -d CVS -o -d .svn ')'; then \
106           cd extras/faad2 \
107           && touch `find . -name configure.in` \
108           && touch `find . -name aclocal.m4` \
109           && touch `find . -name configure` \
110           && touch `find . -name config.h.in` \
111           && touch `find . -name Makefile.in` \
112           && ./configure --disable-shared \
113           && cd libfaad \
114           && $(MAKE); \
115         fi
116
117         # Configure VLC
118         ./configure --mandir=$${prefix}/share/man \
119           --infodir=$${prefix}/share/info $(CONFIG_FLAGS)
120
121         touch configure-stamp
122
123 build: build-stamp
124 build-stamp: patch configure-stamp
125         dh_testdir
126
127         # Build only VLC, with the non-PIC libs
128         $(MAKE) include/vlc_symbols.h
129         cd modules && AM_MAKEFLAGS='plugin=no pic=no' $(MAKE)
130         $(MAKE) vlc
131
132 ifneq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386)
133         # Hackety hackety hack
134         if test ! '(' -d CVS -o -d .svn ')'; then \
135           cd extras/ffmpeg/libavcodec \
136           && $(MAKE) clean \
137           && rm -f Makefile.pic \
138           && sed 's/^CFLAGS *=/&-fPIC -DPIC /' <Makefile >Makefile.pic \
139           && $(MAKE) -f Makefile.pic \
140           && rm -f Makefile.pic; \
141         fi
142
143         # HACKETY HACKETY HACK
144         if test ! '(' -d CVS -o -d .svn ')'; then \
145           cd extras/faad2/libfaad \
146           && $(MAKE) clean \
147           && $(MAKE) AM_CFLAGS=-fPIC; \
148         fi
149 endif
150
151         # Build all the rest, with the PIC libs
152         AM_MAKEFLAGS='builtin=no' $(MAKE)
153
154         touch build-stamp
155
156 clean:
157         dh_testdir
158         dh_testroot
159         rm -f configure-stamp build-stamp
160
161         # Check that we have an ffmpeg tree in here (can be a symlink)
162         test -d extras/ffmpeg
163         -if test ! '(' -d CVS -o -d .svn ')'; then \
164           cd extras/ffmpeg && $(MAKE) distclean; \
165         fi
166         # Check that we have an faad2 tree in here (can be a symlink)
167         test -d extras/faad2
168         -if test ! '(' -d CVS -o -d .svn ')'; then \
169           cd extras/faad2 && $(MAKE) distclean; \
170         fi
171
172         # Removed ugly cruft
173         rm -f src/misc/modules_builtin.h
174         rm -f mozilla/vlcintf.xpt mozilla/vlcintf.h
175
176         # Remove spurious autotools stuff
177         rm -f config.log confdefs.h
178
179         -$(MAKE) distclean
180         $(MAKE) -f debian/rules unpatch
181
182         dh_clean
183
184 install: build
185         dh_testdir
186         dh_testroot
187         dh_clean -k
188         dh_installdirs
189
190         DESTDIR=`pwd`/debian/vlc/ $(MAKE) install prefix=/usr
191
192         # Package: vlc
193         mv debian/vlc/$(VIDDIR)/vlc48x48.png debian/vlc/$(PIXDIR)/vlc.png
194         mv debian/vlc/$(VIDDIR)/vlc32x32.xpm debian/vlc/$(VIDDIR)/vlc.xpm
195         cp debian/gvlc.desktop debian/gvlc/$(GNOMEDIR)
196         cp debian/gnome-vlc.desktop debian/gnome-vlc/$(GNOMEDIR)
197
198         #cp doc/fortunes.txt debian/vlc/usr/share/games/fortunes/vlc
199         #strfile doc/fortunes.txt debian/vlc/usr/share/games/fortunes/vlc.dat
200
201         rm -Rf debian/vlc/usr/share/vlc/skins
202         ln -s vlc.1.gz debian/vlc/usr/share/man/man1/svlc.1.gz
203
204         # Package: libvlc0-dev
205         mv debian/vlc/usr/bin/vlc-config debian/libvlc0-dev/usr/bin/
206         mv debian/vlc/usr/lib/*.a debian/libvlc0-dev/usr/lib/
207         mv debian/vlc/usr/lib/vlc/*.a debian/libvlc0-dev/usr/lib/vlc/
208         mv debian/vlc/usr/include/vlc/*.h debian/libvlc0-dev/usr/include/vlc/
209         rm -Rf debian/vlc/usr/include
210         ln -s vlc debian/libvlc0-dev/usr/share/doc/libvlc0-dev
211
212         # Package: gnome-vlc
213         mv debian/vlc/usr/bin/gnome-vlc debian/gnome-vlc/usr/bin/
214         ln -s vlc debian/gnome-vlc/usr/share/doc/gnome-vlc
215         mv debian/vlc/usr/lib/vlc/misc/libgnome_main_plugin.so \
216           debian/gnome-vlc/usr/lib/vlc/gui/
217         mv debian/vlc/usr/lib/vlc/gui/libgnome_plugin.so \
218           debian/gnome-vlc/usr/lib/vlc/gui/
219         ln -s vlc.1.gz debian/gnome-vlc/usr/share/man/man1/gnome-vlc.1.gz
220         mv debian/vlc/$(VIDDIR)/gnome-vlc32x32.xpm debian/gnome-vlc/$(VIDDIR)/gnome-vlc.xpm
221         mv debian/vlc/$(VIDDIR)/gnome-vlc48x48.png debian/gnome-vlc/$(PIXDIR)/gnome-vlc.png
222
223         # Package: vlc-gnome
224         mkdir -p debian/vlc-gnome/usr/share/doc/
225         ln -s vlc debian/vlc-gnome/usr/share/doc/vlc-gnome
226
227         # Package: gvlc
228         mv debian/vlc/usr/bin/gvlc debian/gvlc/usr/bin/
229         ln -s vlc debian/gvlc/usr/share/doc/gvlc
230         mv debian/vlc/usr/lib/vlc/misc/libgtk_main_plugin.so \
231           debian/gvlc/usr/lib/vlc/gui/
232         mv debian/vlc/usr/lib/vlc/gui/libgtk_plugin.so \
233           debian/gvlc/usr/lib/vlc/gui/
234         #mv debian/vlc/usr/lib/vlc/gui/libfamiliar_plugin.so \
235         #  debian/gvlc/usr/lib/vlc/gui/
236         ln -s vlc.1.gz debian/gvlc/usr/share/man/man1/gvlc.1.gz
237         mv debian/vlc/$(VIDDIR)/gvlc32x32.xpm debian/gvlc/$(VIDDIR)/gvlc.xpm
238         mv debian/vlc/$(VIDDIR)/gvlc48x48.png debian/gvlc/$(PIXDIR)/gvlc.png
239
240         # Package: vlc-gtk
241         mkdir -p debian/vlc-gtk/usr/share/doc/
242         ln -s vlc debian/vlc-gtk/usr/share/doc/vlc-gtk
243
244         # Package: vlc-plugin-esd
245         ln -s vlc debian/vlc-plugin-esd/usr/share/doc/vlc-plugin-esd
246         mv debian/vlc/usr/lib/vlc/audio_output/libesd_plugin.so \
247           debian/vlc-plugin-esd/usr/lib/vlc/audio_output/
248
249         # Package: vlc-esd
250         mkdir -p debian/vlc-esd/usr/share/doc/
251         ln -s vlc debian/vlc-esd/usr/share/doc/vlc-esd
252
253         # Package: vlc-plugin-alsa
254         ln -s vlc debian/vlc-plugin-alsa/usr/share/doc/vlc-plugin-alsa
255         mv debian/vlc/usr/lib/vlc/audio_output/libalsa_plugin.so \
256           debian/vlc-plugin-alsa/usr/lib/vlc/audio_output/
257
258         # Package: vlc-alsa
259         mkdir -p debian/vlc-alsa/usr/share/doc/
260         ln -s vlc debian/vlc-alsa/usr/share/doc/vlc-alsa
261
262         # Package: vlc-plugin-sdl
263         ln -s vlc debian/vlc-plugin-sdl/usr/share/doc/vlc-plugin-sdl
264         mv debian/vlc/usr/lib/vlc/audio_output/libaout_sdl_plugin.so \
265           debian/vlc-plugin-sdl/usr/lib/vlc/audio_output/
266         mv debian/vlc/usr/lib/vlc/video_output/libvout_sdl_plugin.so \
267           debian/vlc-plugin-sdl/usr/lib/vlc/video_output/
268
269         # Package: vlc-sdl
270         mkdir -p debian/vlc-sdl/usr/share/doc/
271         ln -s vlc debian/vlc-sdl/usr/share/doc/vlc-sdl
272
273         # Package: vlc-plugin-ggi
274         ln -s vlc debian/vlc-plugin-ggi/usr/share/doc/vlc-plugin-ggi
275         mv debian/vlc/usr/lib/vlc/video_output/libggi_plugin.so \
276           debian/vlc-plugin-ggi/usr/lib/vlc/video_output/
277
278         # Package: vlc-ggi
279         mkdir -p debian/vlc-ggi/usr/share/doc/
280         ln -s vlc debian/vlc-ggi/usr/share/doc/vlc-ggi
281
282         # Package: vlc-plugin-glide
283 ifeq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386)
284         ln -s vlc debian/vlc-plugin-glide/usr/share/doc/vlc-plugin-glide
285         mv debian/vlc/usr/lib/vlc/video_output/libglide_plugin.so \
286           debian/vlc-plugin-glide/usr/lib/vlc/video_output/
287
288         # Package: vlc-glide
289         mkdir -p debian/vlc-glide/usr/share/doc/
290         ln -s vlc debian/vlc-glide/usr/share/doc/vlc-glide
291 endif
292
293         # Package: qvlc
294         mv debian/vlc/usr/bin/qvlc debian/qvlc/usr/bin/
295         ln -s vlc debian/qvlc/usr/share/doc/qvlc
296         mv debian/vlc/usr/lib/vlc/gui/libqt_plugin.so \
297           debian/qvlc/usr/lib/vlc/gui/
298         ln -s vlc.1.gz debian/qvlc/usr/share/man/man1/qvlc.1.gz
299         mv debian/vlc/$(VIDDIR)/qvlc32x32.xpm debian/qvlc/$(VIDDIR)/qvlc.xpm
300         mv debian/vlc/$(VIDDIR)/qvlc48x48.png debian/qvlc/$(PIXDIR)/qvlc.png
301
302         # Package: vlc-qt
303         mkdir -p debian/vlc-qt/usr/share/doc/
304         ln -s vlc debian/vlc-qt/usr/share/doc/vlc-qt
305
306         # Package: vlc-plugin-arts
307         ln -s vlc debian/vlc-plugin-arts/usr/share/doc/vlc-plugin-arts
308         mv debian/vlc/usr/lib/vlc/audio_output/libarts_plugin.so \
309           debian/vlc-plugin-arts/usr/lib/vlc/audio_output/
310
311         # Package: mozilla-plugin-vlc
312         ln -s vlc debian/mozilla-plugin-vlc/usr/share/doc/mozilla-plugin-vlc
313         mv debian/vlc/usr/lib/mozilla debian/mozilla-plugin-vlc/usr/lib
314         # links for firefox
315         mkdir -p debian/mozilla-plugin-vlc/usr/lib/mozilla-firefox/plugins/
316         ln -s ../../mozilla/plugins/libvlcplugin.so debian/mozilla-plugin-vlc/usr/lib/mozilla-firefox/plugins/
317         mkdir -p debian/mozilla-plugin-vlc/usr/lib/mozilla-firefox/components/
318         ln -s ../../mozilla/components/vlcintf.xpt debian/mozilla-plugin-vlc/usr/lib/mozilla-firefox/components/
319
320         # Package: kvlc
321         mv debian/vlc/usr/bin/kvlc debian/kvlc/usr/bin/
322         ln -s vlc debian/kvlc/usr/share/doc/kvlc
323         mv debian/vlc/usr/lib/vlc/gui/libkde_plugin.so \
324           debian/kvlc/usr/lib/vlc/gui/
325         mv debian/vlc/usr/share/vlc/ui.rc \
326           debian/kvlc/usr/share/vlc
327         ln -s vlc.1.gz debian/kvlc/usr/share/man/man1/kvlc.1.gz
328         mv debian/vlc/$(VIDDIR)/kvlc32x32.xpm debian/kvlc/$(VIDDIR)/kvlc.xpm
329         mv debian/vlc/$(VIDDIR)/kvlc48x48.png debian/kvlc/$(PIXDIR)/kvlc.png
330
331         # Package: vlc-plugin-svgalib
332 ifeq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386)
333         ln -s vlc debian/vlc-plugin-svgalib/usr/share/doc/vlc-plugin-svgalib
334         mv debian/vlc/usr/lib/vlc/video_output/libsvgalib_plugin.so \
335           debian/vlc-plugin-svgalib/usr/lib/vlc/video_output
336 endif
337
338         # Package: wxvlc
339         mv debian/vlc/usr/bin/wxvlc debian/wxvlc/usr/bin/
340         ln -s vlc debian/wxvlc/usr/share/doc/wxvlc
341         mv debian/vlc/usr/lib/vlc/gui/libwxwindows_plugin.so \
342           debian/wxvlc/usr/lib/vlc/gui/
343         ln -s vlc.1.gz debian/wxvlc/usr/share/man/man1/wxvlc.1.gz
344
345         # Clean up
346         rm -f debian/vlc/$(VIDDIR)/*.png
347
348         #gzip -9 < doc/vlc.1 >| debian/vlc/usr/share/man/man1/vlc.1.gz
349
350 # Build architecture-independent files here.
351 binary-indep: build install
352 # We have nothing to do by default.
353
354 # Build architecture-dependent files here.
355 binary-arch: build install
356 #       dh_testversion
357         dh_testdir
358         dh_testroot
359 #       dh_installdebconf       
360         dh_installdocs -p vlc
361 #       dh_installexamples
362         dh_installmenu -s
363         dh_installmime -s
364         dh_installman doc/vlc.1 -p vlc
365         dh_installman doc/vlc-config.1 -p libvlc0-dev
366         dh_installchangelogs ChangeLog -p vlc
367         for x in doc/ChangeLog-* ; do cp "doc/ChangeLog-$${x#*-}" "debian/vlc/usr/share/doc/vlc/changelog$${x#*-}" ; done
368         dh_link -s
369         dh_strip -s
370         dh_compress -s
371         dh_fixperms -s
372         dh_makeshlibs -s
373         dh_installdeb -s
374 #       dh_perl
375         dh_shlibdeps -s
376         dh_gencontrol -s
377         dh_md5sums -s
378         dh_builddeb -s
379
380 binary: binary-indep binary-arch
381 .PHONY: build clean binary-indep binary-arch binary install
382