#!/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/bash
+SHELL = /bin/sh
+r = debian/$(package)
+r_data = debian/$(package)-data
+r_doc = debian/$(package)-doc
+
+# FIXME: /usr
+d = usr/share/doc/$(package)
+info = /usr/share/info/$(package)
+
+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
# 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 --enable-optimise \
- --enable-shared
- $(MAKE) all
+ ./configure --disable-checking --enable-debugging \
+ --prefix=/usr --enable-optimising \
+ --infodir='$${prefix}/share/info' \
+ --mandir='$${prefix}/share/man'
+ $(MAKE)
touch build-stamp
+build-doc: build build-doc-stamp
+build-doc-stamp:
+ dh_testdir
+
+ # make info
+ $(MAKE) -C Documentation
+ # make html
+ $(MAKE) web
+ $(MAKE) -C Documentation/user omf
+# find . -type d -name 'out-www' | xargs rm -rf
+
+ touch build-doc-stamp
+
clean:
dh_testdir
dh_testroot
- rm -f build-stamp
+ rm -f build-stamp build-doc-stamp
+ -$(MAKE) WWW-clean top-WWW-clean
-$(MAKE) distclean
- -$(MAKE) local-distclean
- # Remove the following line once the *.make files are fixed
- rm -f bin/*.pyc
- rm -f debian/preinst
+ # Still not clean enough? Let's use... BRUTE STRENGTH! :-)
+ find . -type d -name 'out' -o -name 'out-www' | xargs rm -rf
+ 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
dh_clean
+install: DH_OPTIONS=
+install: build
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+
+ # Add here commands to install the package into debian/tmp.
+ $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr
+
+ dh_install --sourcedir=debian/tmp --list-missing
+
+# # Change from an absolute symlink to a relative symlink (Lintian)
+# if [ -L $(r)/usr/share/lilypond/cmtfm ]; then \
+# rm -f $(r)/usr/share/lilypond/cmtfm; \
+# ln -s ../texmf/fonts/tfm/public/cm $(r)/usr/share/lilypond/cmtfm; \
+# fi
+
# Build architecture-independent files here.
-binary-indep: build
-# 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) prefix=$(PWD)/$(r_doc)/usr webdir=$(PWD)/$(r_doc)/$(d)/html out=www web-install
+ # Add symlinks to the PostScript docs and LilyPond logo PNGs for HTML...
+ cd $(r_doc)/$(d) \
+ && cp -s `find html/Documentation -name '*.ps.gz'` . \
+ && cp -s html/Documentation/pictures/out-www/*.png .
+ # Add symlinks to the documentation PNGs for info...
+ cd $(r_doc)/$(info) \
+ && cp -s ../../doc/$(package)/html/Documentation/user/out-www/*.png .
+# # Copy the DVI docs too ...
+# cp -a `find Documentation -name '*.dvi' ! -name 'lily-[0-9]*.dvi'` \
+# $(r_doc)/$(d)/
+ dh_installdocs
+ dh_installemacsen
+ dh_scrollkeeper
-binary-arch: build
+ find input \( -name '*.*ly' -o -name '*.abc' -o -name '*.tex' -o -name 'TODO' \) ! -regex '.*/out-www/.*' \
+ -exec cp -a --parents '{}' $(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_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
- dh_clean -k
+ dh_installdocs AUTHORS.txt NEWS.txt README.txt \
+ DEDICATION THANKS
+
+# dh_installdocs DEDICATION NEWS ROADMAP *.txt \
+# Documentation/pictures/out/*.png
+# Documentation/out/*.txt
+# $(DVI_FILES) $(PS_FILES)
+# mkdir $(r)/$(d)/bibliography $(r)/$(d)/misc
+# cp -a Documentation/bibliography/*.bib $(r)/$(d)/bibliography/
+# cp -a Documentation/misc/[ACN]* $(r)/$(d)/misc/
- dh_installdirs usr/lib/texmf/doc \
- usr/lib/emacs/site-lisp \
- usr/doc/$(package)/examples
- ln -fs ../../../doc/lilypond debian/tmp/usr/lib/texmf/doc/lilypond
- $(MAKE) prefix=`pwd`/debian/tmp/usr install
- cp -av mudela-mode.el debian/tmp/usr/lib/emacs/site-lisp
- dh_installdocs ANNOUNCEMENT ANNOUNCE-0.1 README.txt NEWS ONEWS DEDICATION \
- BUGS TODO \
- Documentation/pictures/*.xpm \
- Documentation/out/*.txt \
- Documentation/tex/*.doc \
- Documentation/tex/*.bib
# dh_installexamples input
- cp -aP `find input mutopia \( -name '*.ly' -o -name '*.tex' -o -name 'TODO' \)` \
- debian/tmp/usr/doc/lilypond/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_scrollkeeper
# dh_installcron
-# dh_installmanpages
+# dh_installman
# dh_undocumented
- dh_installchangelogs
-# dh_strip
+ dh_installchangelogs ChangeLog
+
+ dh_strip
dh_compress
dh_fixperms
- dh_suidregister
dh_installdeb
dh_shlibdeps
dh_gencontrol
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 binary-indep binary-arch binary
+.PHONY: build clean install binary-indep binary-arch binary