2 # debian/rules for the VLC media player - uses debhelper.
4 # based on Joey Hess's one.
6 # Uncomment this to turn on verbose mode.
8 include /usr/share/dpatch/dpatch.make
10 # These are used for cross-compiling and for saving the configure script
11 # from having to guess our platform (since we know it already)
12 DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
13 DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
14 confflags = --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)
19 vlc_confflags = --enable-release --prefix=/usr
46 --with-wx-config=wx-config \
50 --disable-basic-skins \
74 # These ones are currently shipped with VLC
75 vlc_confflags += --enable-faad --with-faad-tree=extras/faad2
76 vlc_confflags += --enable-x264 --with-x264-tree=extras/x264
78 # Glide and svgalib are only for x86
79 ifeq ($(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU),i386)
80 vlc_confflags += --enable-glide
81 vlc_confflags += --enable-svgalib
84 # We need this hack for i386 and amd64
85 ifeq ($(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU),i386)
86 CC = $(shell pwd)/debian/gcc-snapshot
89 ifeq ($(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU),amd64)
90 CC = $(shell pwd)/debian/gcc-snapshot
94 # Remove --without-dvdcss in non-totalitarian countries
95 vlc_confflags += --enable-dvd --without-dvdcss
98 VIDDIR = usr/share/vlc
99 PIXDIR = usr/share/pixmaps
100 APPDIR = usr/share/applications
107 configure: configure-stamp
116 touch `find . -name Makefile.in`
118 # Check that we have an x264 tree in here (can be a symlink)
121 && ./configure $(confflags) --extra-cflags='$$(ECFLAGS)' \
122 --extra-asflags='$$(EASFLAGS)' \
125 # Check that we have an faad2 tree in here (can be a symlink)
128 && touch `find . -name configure.in` \
129 && touch `find . -name aclocal.m4` \
130 && touch `find . -name configure` \
131 && touch `find . -name config.h.in` \
132 && touch `find . -name Makefile.in` \
133 && ./configure $(confflags) --disable-shared \
138 ./configure --mandir=$${prefix}/share/man \
139 --infodir=$${prefix}/share/info $(confflags) $(vlc_confflags)
141 touch configure-stamp
144 build-stamp: patch configure-stamp
147 # Build only VLC, with the non-PIC libs
148 $(MAKE) include/vlc_symbols.h
149 cd modules && AM_MAKEFLAGS='plugin=no pic=no' $(MAKE)
152 # Hackety hackety hack
153 cd extras/x264 && $(MAKE) clean && $(MAKE) ECFLAGS=-fPIC EASFLAGS=-D__PIC__
155 # HACKETY HACKETY HACK
156 cd extras/faad2/libfaad && $(MAKE) clean && $(MAKE) AM_CFLAGS=-fPIC
158 # Build all the rest, with the PIC libs
159 AM_MAKEFLAGS='builtin=no' $(MAKE)
161 # Minor test, to see which plugins were built and whether they load
163 ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
164 ./vlc --reset-plugins-cache -l -I rc vlc:quit
172 rm -f configure-stamp build-stamp
174 # Check that we have an x264 tree in here (can be a symlink)
176 -cd extras/x264 && $(MAKE) distclean
177 # Check that we have an faad2 tree in here (can be a symlink)
179 -cd extras/faad2 && $(MAKE) distclean
181 # Clean zsh completion stuff
185 rm -f src/misc/modules_builtin.h
186 rm -f mozilla/vlcintf.xpt mozilla/vlcintf.h
188 # Remove spurious autotools stuff
189 rm -f config.log confdefs.h
201 DESTDIR=`pwd`/debian/vlc/ $(MAKE) install prefix=/usr
204 mv debian/vlc/$(VIDDIR)/vlc48x48.png debian/vlc/$(PIXDIR)/vlc.png
205 mv debian/vlc/$(VIDDIR)/vlc32x32.xpm debian/vlc/$(VIDDIR)/vlc.xpm
206 cp debian/gvlc.desktop debian/gvlc/$(APPDIR)
207 cp debian/gnome-vlc.desktop debian/gnome-vlc/$(APPDIR)
209 #cp doc/fortunes.txt debian/vlc/usr/share/games/fortunes/vlc
210 #strfile doc/fortunes.txt debian/vlc/usr/share/games/fortunes/vlc.dat
212 rm -Rf debian/vlc/$(VIDDIR)/skins
213 ln -s vlc.1.gz debian/vlc/usr/share/man/man1/svlc.1.gz
215 # Package: libvlc0-dev
216 mv debian/vlc/usr/bin/vlc-config debian/libvlc0-dev/usr/bin/
217 mv debian/vlc/usr/lib/*.a debian/libvlc0-dev/usr/lib/
218 mv debian/vlc/usr/lib/vlc/*.a debian/libvlc0-dev/usr/lib/vlc/
219 mv debian/vlc/usr/include/vlc/*.h debian/libvlc0-dev/usr/include/vlc/
220 rm -Rf debian/vlc/usr/include
221 ln -s vlc debian/libvlc0-dev/usr/share/doc/libvlc0-dev
224 #mv debian/vlc/usr/bin/gnome-vlc debian/gnome-vlc/usr/bin/
225 ln -s vlc debian/gnome-vlc/usr/share/doc/gnome-vlc
226 #mv debian/vlc/usr/lib/vlc/misc/libgnome_main_plugin.so \
227 # debian/gnome-vlc/usr/lib/vlc/gui/
228 #mv debian/vlc/usr/lib/vlc/gui/libgnome_plugin.so \
229 # debian/gnome-vlc/usr/lib/vlc/gui/
230 #ln -s vlc.1.gz debian/gnome-vlc/usr/share/man/man1/gnome-vlc.1.gz
231 #mv debian/vlc/$(VIDDIR)/gnome-vlc32x32.xpm debian/gnome-vlc/$(VIDDIR)/gnome-vlc.xpm
232 #mv debian/vlc/$(VIDDIR)/gnome-vlc48x48.png debian/gnome-vlc/$(PIXDIR)/gnome-vlc.png
235 #mv debian/vlc/usr/bin/gvlc debian/gvlc/usr/bin/
236 ln -s vlc debian/gvlc/usr/share/doc/gvlc
237 #mv debian/vlc/usr/lib/vlc/misc/libgtk_main_plugin.so \
238 # debian/gvlc/usr/lib/vlc/gui/
239 #mv debian/vlc/usr/lib/vlc/gui/libgtk_plugin.so \
240 # debian/gvlc/usr/lib/vlc/gui/
241 #mv debian/vlc/usr/lib/vlc/gui/libfamiliar_plugin.so \
242 # debian/gvlc/usr/lib/vlc/gui/
243 #ln -s vlc.1.gz debian/gvlc/usr/share/man/man1/gvlc.1.gz
244 #mv debian/vlc/$(VIDDIR)/gvlc32x32.xpm debian/gvlc/$(VIDDIR)/gvlc.xpm
245 #mv debian/vlc/$(VIDDIR)/gvlc48x48.png debian/gvlc/$(PIXDIR)/gvlc.png
247 # Package: vlc-plugin-esd
248 ln -s vlc debian/vlc-plugin-esd/usr/share/doc/vlc-plugin-esd
249 mv debian/vlc/usr/lib/vlc/audio_output/libesd_plugin.so \
250 debian/vlc-plugin-esd/usr/lib/vlc/audio_output/
252 # Package: vlc-plugin-alsa
253 ln -s vlc debian/vlc-plugin-alsa/usr/share/doc/vlc-plugin-alsa
254 mv debian/vlc/usr/lib/vlc/audio_output/libalsa_plugin.so \
255 debian/vlc-plugin-alsa/usr/lib/vlc/audio_output/
257 # Package: vlc-plugin-sdl
258 ln -s vlc debian/vlc-plugin-sdl/usr/share/doc/vlc-plugin-sdl
259 mv debian/vlc/usr/lib/vlc/audio_output/libaout_sdl_plugin.so \
260 debian/vlc-plugin-sdl/usr/lib/vlc/audio_output/
261 mv debian/vlc/usr/lib/vlc/video_output/libvout_sdl_plugin.so \
262 debian/vlc-plugin-sdl/usr/lib/vlc/video_output/
264 # Package: vlc-plugin-ggi
265 ln -s vlc debian/vlc-plugin-ggi/usr/share/doc/vlc-plugin-ggi
266 mv debian/vlc/usr/lib/vlc/video_output/libggi_plugin.so \
267 debian/vlc-plugin-ggi/usr/lib/vlc/video_output/
269 # Package: vlc-plugin-glide
270 ifeq ($(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU),i386)
271 ln -s vlc debian/vlc-plugin-glide/usr/share/doc/vlc-plugin-glide
272 mv debian/vlc/usr/lib/vlc/video_output/libglide_plugin.so \
273 debian/vlc-plugin-glide/usr/lib/vlc/video_output/
277 #mv debian/vlc/usr/bin/qvlc debian/qvlc/usr/bin/
278 ln -s vlc debian/qvlc/usr/share/doc/qvlc
279 #mv debian/vlc/usr/lib/vlc/gui/libqt_plugin.so \
280 # debian/qvlc/usr/lib/vlc/gui/
281 #ln -s vlc.1.gz debian/qvlc/usr/share/man/man1/qvlc.1.gz
282 #mv debian/vlc/$(VIDDIR)/qvlc32x32.xpm debian/qvlc/$(VIDDIR)/qvlc.xpm
283 #mv debian/vlc/$(VIDDIR)/qvlc48x48.png debian/qvlc/$(PIXDIR)/qvlc.png
285 # Package: vlc-plugin-arts
286 ln -s vlc debian/vlc-plugin-arts/usr/share/doc/vlc-plugin-arts
287 mv debian/vlc/usr/lib/vlc/audio_output/libarts_plugin.so \
288 debian/vlc-plugin-arts/usr/lib/vlc/audio_output/
290 # Package: mozilla-plugin-vlc
291 ln -s vlc debian/mozilla-plugin-vlc/usr/share/doc/mozilla-plugin-vlc
292 mv debian/vlc/usr/lib/mozilla debian/mozilla-plugin-vlc/usr/lib
294 mkdir -p debian/mozilla-plugin-vlc/usr/lib/mozilla-firefox/plugins/
295 ln -s ../../mozilla/plugins/libvlcplugin.so debian/mozilla-plugin-vlc/usr/lib/mozilla-firefox/plugins/
296 mkdir -p debian/mozilla-plugin-vlc/usr/lib/mozilla-firefox/components/
297 ln -s ../../mozilla/components/vlcintf.xpt debian/mozilla-plugin-vlc/usr/lib/mozilla-firefox/components/
300 #mv debian/vlc/usr/bin/kvlc debian/kvlc/usr/bin/
301 ln -s vlc debian/kvlc/usr/share/doc/kvlc
302 #mv debian/vlc/usr/lib/vlc/gui/libkde_plugin.so \
303 # debian/kvlc/usr/lib/vlc/gui/
304 #mv debian/vlc/$(VIDDIR)/ui.rc debian/kvlc/$(VIDDIR)
305 #ln -s vlc.1.gz debian/kvlc/usr/share/man/man1/kvlc.1.gz
306 #mv debian/vlc/$(VIDDIR)/kvlc32x32.xpm debian/kvlc/$(VIDDIR)/kvlc.xpm
307 #mv debian/vlc/$(VIDDIR)/kvlc48x48.png debian/kvlc/$(PIXDIR)/kvlc.png
309 # Package: vlc-plugin-svgalib
310 ifeq ($(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU),i386)
311 ln -s vlc debian/vlc-plugin-svgalib/usr/share/doc/vlc-plugin-svgalib
312 mv debian/vlc/usr/lib/vlc/video_output/libsvgalib_plugin.so \
313 debian/vlc-plugin-svgalib/usr/lib/vlc/video_output
317 mv debian/vlc/usr/bin/wxvlc debian/wxvlc/usr/bin/
318 ln -s vlc debian/wxvlc/usr/share/doc/wxvlc
319 cp debian/vlc/$(VIDDIR)/vlc.xpm debian/wxvlc/$(VIDDIR)/wxvlc.xpm
320 cp debian/vlc.desktop debian/wxvlc/$(APPDIR)
321 mv debian/vlc/usr/lib/vlc/gui/libwxwidgets_plugin.so \
322 debian/wxvlc/usr/lib/vlc/gui/
323 ln -s vlc.1.gz debian/wxvlc/usr/share/man/man1/wxvlc.1.gz
326 rm -f debian/vlc/$(VIDDIR)/*.png
328 #gzip -9 < doc/vlc.1 >| debian/vlc/usr/share/man/man1/vlc.1.gz
330 # Build architecture-independent files here.
331 binary-indep: build install
332 # We have nothing to do by default.
334 # Build architecture-dependent files here.
335 binary-arch: build install
340 dh_installdocs -p vlc
345 dh_installman doc/vlc.1 -p vlc
346 dh_installman doc/vlc-config.1 -p libvlc0-dev
347 dh_installchangelogs ChangeLog -p vlc
348 for x in doc/ChangeLog-* ; do cp "doc/ChangeLog-$${x#*-}" "debian/vlc/usr/share/doc/vlc/changelog$${x#*-}" ; done
361 binary: binary-indep binary-arch
362 .PHONY: build clean binary-indep binary-arch binary install