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