Propperly enables paralell make, enforces a clear separation between 
build/install/binay and indep/arch steps, minor cleanups, etc.

Also fixes a bug causing the extra version of libavcodec.so.54.35.0 gets 
installed in both libavcodec54 and libavcodec-extra-54.
---
 debian/rules |  134 +++++++++++++++++++++++++++++-----------------------------
 1 fil ändrad, 68 tillägg(+), 66 borttagningar(-)

diff --git a/debian/rules b/debian/rules
index 6b554bae..b6c4c328 100755
--- a/debian/rules
+++ b/debian/rules
@@ -52,14 +52,12 @@ DEV_PKGS := $(shell echo $(LIB_PKGS) $(LIB_PKGS2) | sed 
's/[0-9]\+\>/-dev/g')
 
 # Support multiple makes at once
 ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-NUMJOBS = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-else
-# on i386 and amd64, we query the system unless overriden by DEB_BUILD_OPTIONS
-ifeq      ($(DEB_HOST_ARCH),i386)
-NUMJOBS := -j$(shell getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1)
-else ifeq ($(DEB_HOST_ARCH),amd64)
-NUMJOBS := -j$(shell getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1)
-endif
+       NUMJOBS = $(patsubst parallel=%,%,$(filter 
parallel=%,$(DEB_BUILD_OPTIONS)))
+       MAKEFLAGS += -j$(NUMJOBS)
+else ifneq (,$(filter $(DEB_HOST_ARCH_CPU), amd64 i386))
+       # on i386 and amd64, we query the system unless overriden by 
DEB_BUILD_OPTIONS
+       NUMJOBS := $(shell getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1)
+       MAKEFLAGS += -j$(NUMJOBS)
 endif
 
 include debian/confflags
@@ -90,50 +88,53 @@ else
 CONFIGURE := configure
 endif
 
-configure-%: configure-stamp-%
 configure-stamp-%: $(CONFIGURE)
        dh_testdir
        mkdir -p debian-$*
        cd debian-$* && CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" 
LDFLAGS="$(LDFLAGS)" $(CURDIR)/$(CONFIGURE) \
                $($*_build_confflags) $(extra_$*_build_confflags)
        touch $@
-configure-extra-stamp-%:
+configure-extra-stamp-%: $(CONFIGURE)
        dh_testdir
        mkdir -p debian-extra-$*
        cd debian-extra-$* && CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" 
LDFLAGS="$(LDFLAGS)" $(CURDIR)/$(CONFIGURE) \
                $($*_build_confflags) $(v3_confflags) 
$(extra_$*_build_confflags)
        touch $@
 
-build-%: build-stamp-%
 build-stamp-%: configure-stamp-%
        dh_testdir
-       $(MAKE) -C debian-$* $(NUMJOBS) V=1
+       $(MAKE) -C debian-$* V=1
        touch $@
 build-extra-stamp-%: configure-extra-stamp-%
        dh_testdir
-       $(MAKE) -C debian-extra-$* $(NUMJOBS) V=1
+       $(MAKE) -C debian-extra-$* V=1
        touch $@
 
 debian-shared/tools/qt-faststart: build-stamp-shared
        $(MAKE) -C debian-shared tools/qt-faststart V=1
 
-build: build-stamp build-extra
-build-stamp: $(addprefix build-stamp-, $(FLAVORS)) 
debian-shared/tools/qt-faststart
+build-doxy-stamp:
+       dh_testdir
+       doxygen doc/Doxyfile
        touch $@
+
+build: build-common build-extra build-doxy
+build-common: $(addprefix build-stamp-, $(FLAVORS)) 
debian-shared/tools/qt-faststart
 build-extra: $(addprefix build-extra-stamp-, $(filter-out static,$(FLAVORS)))
-       touch $@
+build-doxy: build-doxy-stamp
 
 clean:
        dh_testdir
-       rm -f build-stamp build-extra $(addprefix build-stamp-, $(FLAVORS)) \
+       rm -f $(addprefix build-stamp-, $(FLAVORS)) \
            $(addprefix build-extra-stamp-, $(FLAVORS)) \
            $(addprefix configure-stamp-, $(FLAVORS)) \
            $(addprefix configure-extra-stamp-, $(FLAVORS)) \
            build-doxy-stamp
        rm -rf libav/ # created by the libav-extra variant
        rm -rf $(addprefix debian-, $(FLAVORS)) \
-               $(addprefix debian-extra-, $(FLAVORS)) doxy
-       dh_clean $(DH_INSTALL_FILES) $(wildcard formats*.txt) $(wildcard 
codecs*.txt)
+           $(addprefix debian-extra-, $(FLAVORS)) \
+           doc/doxy/html
+       dh_clean $(DH_INSTALL_FILES)
 
 # The trailing newline is important!
 define install_flavor
@@ -144,65 +145,54 @@ endef
 
 # The trailing newline is important!
 define install_flavor_extra
-       $(MAKE) -C debian-extra-$(1) install DESTDIR=$(CURDIR)/debian/tmp/extra 
\
-           mandir=$(CURDIR)/debian/tmp/usr/share/man
+       $(MAKE) -C debian-extra-$(1) install DESTDIR=$(CURDIR)/debian/tmp-extra 
\
+           mandir=$(CURDIR)/debian/tmp-extra/usr/share/man
 
 endef
 
-# installs arch-dependent files only
 install: install-common install-extra
-install-common: build $(DH_INSTALL_FILES)
+install-common: build-common
+       # Installs stuff to debian/tmp
        dh_testdir
        dh_testroot
-       dh_prep -a
        $(foreach flavor,$(FLAVORS),$(call install_flavor,$(flavor)))
        mkdir -p debian/tmp/etc
        install -m 644 -D doc/avserver.conf debian/tmp/etc/
        install -m 644 -D debian-shared/tools/qt-faststart 
debian/tmp/usr/bin/qt-faststart
-       dh_install -a $(addprefix -N,$(LIB_EXTRA_PKGS)) \
-                --fail-missing --sourcedir=debian/tmp
        env 
LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)"
 \
-       debian/tmp/usr/bin/avconv -formats | tee formats-$(DEB_HOST_ARCH).txt
+       debian/tmp/usr/bin/avconv -formats | tee 
debian-shared/formats-$(DEB_HOST_ARCH).txt
        env 
LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)"
 \
-       debian/tmp/usr/bin/avconv -codecs | tee codecs.txt
-       dh_installdocs -plibavformat54 formats-$(DEB_HOST_ARCH).txt
-       dh_installdocs -plibavcodec54 codecs.txt
-install-extra: build $(DH_INSTALL_FILES)
+       debian/tmp/usr/bin/avconv -codecs | tee 
debian-shared/codecs-$(DEB_HOST_ARCH).txt
+ifeq ($(DEB_SOURCE), libav)
+       # the libav-source package does exist in some derivatives such as 
ubuntu, etc.
+       if grep -q 'Package: libav-source' debian/control; then \
+         mkdir -p debian/tmp/usr/src; \
+         tar czvf debian/tmp/usr/src/libav-source.tar.gz . \
+           --exclude 'debian*' --exclude 'doc/doxy/html' --exclude .git 
--exclude .pc --exclude '*-stamp-*' \
+           --transform 's,^./,libav/,' ; \
+       fi
+endif
+install-extra: build-extra
+       # Installs stuff to debian/tmp-extra
        dh_testdir
        dh_testroot
        $(foreach flavor,$(filter-out static,$(FLAVORS)),$(call 
install_flavor_extra,$(flavor)))
-       dh_install -a $(addprefix -p,$(LIB_EXTRA_PKGS)) --fail-missing \
-               --sourcedir=debian/tmp/extra
-       env 
LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp/extra/usr/lib/$(DEB_HOST_MULTIARCH)"
 \
-       debian/tmp/usr/bin/avconv -codecs | tee codecs.txt
-       dh_installdocs -plibavcodec-extra-54 codecs.txt
-ifeq ($(DEB_SOURCE), libav)
-       dh_installdocs -a doc/APIchanges
-       install -m 644 -D debian-shared/doc/*.html 
debian/libav-tools/usr/share/doc/libav-tools
-       dh_installexamples -p libavcodec-dev libavcodec/api-example.c
-       dh_installchangelogs -a Changelog
-else
-       dh_installchangelogs -a libav/Changelog
-endif
+       env 
LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp-extra/usr/lib/$(DEB_HOST_MULTIARCH)"
 \
+       debian/tmp-extra/usr/bin/avconv -codecs | tee 
debian-extra-shared/codecs-$(DEB_HOST_ARCH).txt
 
-binary-indep:
-ifeq ($(DEB_SOURCE), libav)
+binary-indep: install-common build-doxy $(DH_INSTALL_FILES)
        dh_testdir
        dh_testroot
-       dh_prep -i
-       # the libav-source package does exist in some derivatives such as 
ubuntu, etc.
-       if grep -q 'Package: libav-source' debian/control; then \
-         dh_installdirs -ptmp usr/src;  \
-         tar czvf debian/tmp/usr/src/libav-source.tar.gz . \
-                --exclude 'debian*' --exclude .git  --exclude .pc --exclude 
'*-stamp' \
-                --transform 's,^./,libav/,' ; \
-       fi
+       dh_install -i --fail-missing --sourcedir=debian/tmp
+       dh_installdocs -i -A debian/README.Debian
+       dh_installdocs -plibav-doc doc/APIchanges doc/doxy/html
+ifeq ($(DEB_SOURCE), libav)
+       dh_installchangelogs -i Changelog
+else
+       dh_installchangelogs -i libav/Changelog
 endif
-       doxygen doc/Doxyfile
-       mkdir -p debian/libav-doc/usr/share/doc/libav-doc
-       mv -v doc/doxy/html debian/libav-doc/usr/share/doc/libav-doc
-       dh_installdocs -i
-       dh_installchangelogs -i
+       dh_link -i
+       dh_lintian -i
        dh_compress -i
        dh_fixperms -i
        dh_installdeb -i
@@ -210,17 +200,30 @@ endif
        dh_md5sums -i
        dh_builddeb -i -- -Zxz
 
-binary-arch: build install
+binary-arch: install-common install-extra $(DH_INSTALL_FILES)
        dh_testdir
        dh_testroot
+       dh_install -a $(addprefix -N,$(LIB_EXTRA_PKGS)) \
+               --fail-missing --sourcedir=debian/tmp
+       dh_install $(addprefix -p,$(LIB_EXTRA_PKGS)) \
+               --fail-missing --sourcedir=debian/tmp-extra
+       dh_installdocs -a -A debian/README.Debian
+       dh_installdocs -plibav-tools debian-shared/doc/*.html
+       dh_installdocs -plibavformat54 
debian-shared/formats-$(DEB_HOST_ARCH).txt
+       dh_installdocs -plibavcodec54 debian-shared/codecs-$(DEB_HOST_ARCH).txt
+       dh_installdocs -plibavcodec-extra-54 
debian-extra-shared/codecs-$(DEB_HOST_ARCH).txt
+       dh_installdocs $(addprefix -p,$(DEV_PKGS)) -A doc/APIchanges
+       dh_installexamples -plibavcodec-dev libavcodec/api-example.c
        dh_installman -plibav-tools debian/qt-faststart.1
 ifeq ($(DEB_SOURCE), libav)
+       dh_installchangelogs Changelog
        dh_strip -a --dbg-package=libav-dbg
 else
+       dh_installchangelogs libav/Changelog
        dh_strip -a --dbg-package=libav-extra-dbg
 endif
-       dh_lintian -a
        dh_link -a
+       dh_lintian -a
        dh_compress -a
        dh_fixperms -a
 
@@ -239,6 +242,7 @@ endif
            dh_makeshlibs -p"$$pkg" -V"$$pkg (>= $(SHLIBS_VERSION)) | $$upkg 
(>= $(EPOCH)$(UPSTREAM_VERSION))"; \
        done
        dh_shlibdeps
+
        dh_installdeb -a
        dh_gencontrol -a
        dh_md5sums -a
@@ -246,9 +250,7 @@ endif
 
 binary: binary-indep binary-arch
 
-.PHONY: build $(addprefix build-, $(FLAVORS)) \
-       clean \
-       configure $(addprefix configure-, $(FLAVORS)) \
-       binary binary-indep binary-arch \
+.PHONY: build build-common build-extra build-doxy \
        install install-common install-extra \
-       get-orig-source
+       binary binary-common binary-indep binary-arch \
+       clean
-- 
1.7.10.4


_______________________________________________
pkg-multimedia-maintainers mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Reply via email to