#!/usr/bin/make -f
-# Made with the aid of debhelper by by Joey Hess,
-# based on the sample debian/rules file for GNU hello by Ian Jackson.
+# debian/rules for LilyPond in Debian.
#
# This is free software; see the GNU General Public Licence
# version 2 or later for copying conditions. There is NO warranty.
package = lilypond
SHELL = /bin/sh
-r = debian/tmp
-d = usr/doc/$(package)
+r = debian/$(package)
+r_data = debian/$(package)-data
+r_doc = debian/$(package)-doc
+d = usr/share/doc/$(package)
+
+# since I'm building this a few times on my 8-way machine, try to
+# build it faster
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ MAKEFLAGS += -j$(NUMJOBS) CPU_COUNT=$(NUMJOBS)
+endif
+
+
+include VERSION
+VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)
+
+# "main_memory = 263000" in /etc/texmf/texmf.cnf isn't large enough
+# for latex to process standchen.dvi.latex, so adding extra_mem_* ...
+# export extra_mem_top = 100000
+# export extra_mem_bot = 100000
+# But now, building lilypond.dvi requires increased pool_size (2002-02-18)
+# export pool_size = 500000
+# But now, it seems that none of the above is needed in 1.4.11 (2002-02-24)
+export MODE = ljfour
+export BDPI = 600
+export USER_CFLAGS = -DDEBIAN
+export DEB_BUILD = yes
+export MAILADDRESS = lilypond@packages.debian.org
+
+# fontconfig blows chunks if it can't write $HOME; and some buildd's
+# set it to a bogus value.
+export HOME = /tmp
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
build: build-stamp
build-stamp:
dh_testdir
- ./configure --disable-checking --disable-debugging \
- --enable-printing --prefix=/usr --disable-optimise \
- --enable-shared
- $(MAKE) all
- $(MAKE) -C Documentation/pictures pngs
+ cp -f /usr/share/misc/config.guess /usr/share/misc/config.sub ./stepmake/bin/
+ ./configure --disable-checking --enable-debugging \
+ --prefix=/usr --enable-optimising \
+ --infodir='$${prefix}/share/info' \
+ --mandir='$${prefix}/share/man'
+ $(MAKE)
+ # ignore test failures on architectures which aren't i386 or
+ # amd64 until we properly fix failures when /dev/tty doesn't
+ # exist (#572290)
+ if dpkg-architecture -eamd64 || dpkg-architecture -ei386; then \
+ $(MAKE) test; \
+ else \
+ $(MAKE) test || true; \
+ fi;
- # Remove the "-" and the "-k" once the \times segfault
- # bug is fixed. (lilypond-1.1.31, 1999-02-17)
- -$(MAKE) -k -C Documentation/tex dvi
- -$(MAKE) -C Documentation info
+ touch build-stamp
- # $(MAKE) htmldoc
+build-doc: build build-doc-stamp
+build-doc-stamp:
+ dh_testdir
- touch build-stamp
+ # make html
+ # unfortunatly, this does not work well with multiple processors
+ $(MAKE) -j1 doc WEB_TARGETS="offline"
+ # make info
+ $(MAKE) info
+
+ touch build-doc-stamp
clean:
dh_testdir
dh_testroot
- rm -f build-stamp install-stamp
- -$(MAKE) distclean
- rm -f stepmake/stepmake/aclocal.m4
- dh_clean
+ rm -f build-stamp build-doc-stamp
+ [ ! -f Makefile ] || $(MAKE) web-clean
+ [ ! -f Makefile ] || $(MAKE) distclean
+ rm -f lib/python
+ rm -f ./stepmake/bin/config.guess ./stepmake/bin/config.guess.sub
+
+ # Still not clean enough? Let's use... BRUTE STRENGTH! :-)
+ find . -type d -name 'out' -o -name 'out-www' | xargs rm -rf
+ rm -f buildscripts/*.pyc
+ rm -f lib/lilypond/python examples.html
+ rm -f debian/emacsen-startup
+ rm -f debian/lilypond1.7*.dirs debian/lilypond.dirs
+ rm -f debian/postinst debian/prerm debian/postrm
+ rm -f debian/lilypond-data.doc-base debian/lilypond.doc-base
+ rm -f GNUmakefile config.log config.make config.status config.hh
- # Correct the owner of the out/dummy.dep files when built with sudo.
- if [ -n "$$SUDO_USER" -a -n "$$SUDO_GID" ]; then \
- find . -user root | xargs -r chown --dereference $$SUDO_USER.$$SUDO_GID; \
- fi
+ dh_clean
-install: install-stamp
-install-stamp: build-stamp
+install: DH_OPTIONS=
+install: build
dh_testdir
dh_testroot
dh_clean -k
- dh_installdirs usr/doc/texmf \
- usr/lib/emacs/site-lisp \
- usr/doc/$(package)/examples \
- usr/lib/texmf/tex \
- usr/lib/texmf/fonts/source/public \
- usr/lib/texmf/fonts/afm/public \
- usr/lib/texmf/fonts/tfm/public
- ln -fs ../lilypond $(r)/usr/doc/texmf/lilypond
-
- $(MAKE) prefix=`pwd`/$(r)/usr install
+ dh_installdirs
- ln -s ../../../share/lilypond/tex $(r)/usr/lib/texmf/tex/lilypond
- ln -s ../../../../../share/lilypond/mf $(r)/usr/lib/texmf/fonts/source/public/lilypond
- ln -s ../../../../../share/lilypond/afm $(r)/usr/lib/texmf/fonts/afm/public/lilypond
- ln -s ../../../../../share/lilypond/tfm $(r)/usr/lib/texmf/fonts/tfm/public/lilypond
+ # Add here commands to install the package into debian/tmp.
+ $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr
- touch install-stamp
+ dh_install --sourcedir=debian/tmp --list-missing
# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
+binary-indep: DH_OPTIONS=-i
+binary-indep: build-doc install
+ dh_testdir
+ dh_testroot
+ # Install LilyPond web documentation...
+ $(MAKE) install-doc prefix=$(CURDIR)/debian/lilypond-doc/usr/
+ # it installs a random dir-dep file for no reason
+ rm -f $(CURDIR)/debian/lilypond-doc/usr/share/info/*-dir-dep*
+
+ dh_installdocs
+ find $(CURDIR)/debian/lilypond-doc/usr/share/doc/lilypond/html \
+ -type d -empty -delete
+ dh_installemacsen
+
+ #find input \( -name '*.*ly' -o -name '*.abc' -o -name '*.tex' -o -name 'TODO' \) ! -regex '.*/out-www/.*' \
+ # -exec cp -a --parents '{}' $(r_data)/$(d)/examples ';'
+ install -m 644 debian/xiao-haizi-guai-guai.ly debian/sakura-sakura.ly \
+ $(r_data)/$(d)/examples
+ dh_installchangelogs
+
+# mv $(r_data)/usr/share/lilypond/$(VERSION)/fonts/map/lilypond.map \
+# $(r_data)/etc/texmf/dvips/lilypond.map
+
+ dh_link usr/share/lilypond/$(VERSION)/tex \
+ usr/share/texmf/tex/lilypond \
+ usr/share/lilypond/$(VERSION)/fonts/source \
+ usr/share/texmf/fonts/source/public/lilypond \
+ usr/share/lilypond/$(VERSION)/fonts/afm \
+ usr/share/texmf/fonts/afm/public/lilypond \
+ usr/share/lilypond/$(VERSION)/fonts/tfm \
+ usr/share/texmf/fonts/tfm/public/lilypond \
+ usr/share/lilypond/$(VERSION)/fonts/type1 \
+ usr/share/texmf/fonts/type1/public/lilypond \
+ etc/texmf/dvips/lilypond.map \
+ usr/share/lilypond/$(VERSION)/dvips/lilypond.map
+
+ dh_pysupport /usr/share/lilypond/${VERSION}/python
+
+ dh_compress -X$(d)/html/
+ dh_fixperms
+ dh_installdeb
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+binary-arch: DH_OPTIONS=-s
binary-arch: build install
dh_testdir
dh_testroot
- cp -av mudela-mode.el $(r)/usr/lib/emacs/site-lisp
- dh_installdocs ANNOUNCE* NEWS-* DEDICATION \
- BUGS TODO *.txt \
- Documentation/pictures/out/*.png \
- Documentation/out/*.txt \
- Documentation/tex/*.doc \
- Documentation/tex/*.bib \
- Documentation/tex/out/*.dvi
-# dh_installexamples input
- cp -aP `find input mutopia \( -name '*.ly' -o -name '*.tex' -o -name 'TODO' \)` \
- $(r)/$(d)/examples
- for i in `find $(r)/$(d)/examples/ -type d -name out`; do \
- mv -fv $$i/* $$i/..; rmdir $$i; done
-# dh_installmenu
-# dh_installemacsen
-# dh_installcron
-# dh_installmanpages
-# dh_undocumented
- dh_installchangelogs -k NEWS
+ dh_installdocs AUTHORS.txt NEWS.txt README.txt \
+ DEDICATION THANKS
+
+
+ dh_installemacsen
+ dh_installchangelogs Documentation/misc/CHANGES* Documentation/misc/ChangeLog*
+
dh_strip
dh_compress
dh_fixperms
- dh_suidregister
dh_installdeb
dh_shlibdeps
dh_gencontrol
-# dh_makeshlibs
dh_md5sums
dh_builddeb
-source diff:
- @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
-
binary: binary-indep binary-arch
.PHONY: build clean install binary-indep binary-arch binary