#!/usr/bin/make -f #-*- makefile -*- # Made with the aid of dh_make, by Craig Small # Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. # Some lines taken from debmake, by Christoph Lameter. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 #FIXME remove when converting to dh export SOURCE_DATE_EPOCH = $(shell date -d "$$(dpkg-parsechangelog -SDate)" +%s) NO_STRIP:= SAVES:=$(addprefix debian/save/,aclocal.m4 configure interfaces/emacs/imaxima/stamp-vti\ interfaces/emacs/imaxima/imaxima.info interfaces/emacs/imaxima/version.texi\ src/lisp\ share/contrib/maxima-odesolve/maxima-odesolve-index.lisp \ crosscompile-windows/Makefile.in admin/Makefile.in \ demo/Makefile.in doc/emaxima/Makefile.in doc/info/de/Makefile.in doc/info/de.utf8/Makefile.in\ doc/info/es/Makefile.in doc/info/es.utf8/Makefile.in doc/info/Makefile.in doc/info/pt_BR/Makefile.in\ doc/info/pt_BR.utf8/Makefile.in doc/info/pt/Makefile.in doc/info/pt.utf8/Makefile.in doc/intromax/Makefile.in\ doc/Makefile.in doc/man/Makefile.in doc/share/Makefile.in interfaces/emacs/emaxima/Makefile.in\ interfaces/emacs/imaxima/Makefile.in interfaces/emacs/Makefile.in interfaces/emacs/misc/Makefile.in\ interfaces/Makefile.in interfaces/xmaxima/doc/figures/Makefile.in interfaces/xmaxima/doc/Makefile.in\ interfaces/xmaxima/Makefile.in interfaces/xmaxima/msgs/Makefile.in interfaces/xmaxima/win32/Makefile.in\ lisp-utils/Makefile.in locale/Makefile.in Makefile.in plotting/Makefile.in share/contrib/integration/Makefile.in\ share/contrib/Makefile.in share/contrib/maxima-odesolve/Makefile.in share/draw/Makefile.in\ share/logic/Makefile.in share/Makefile.in src/autoconf-variables.lisp src/Makefile.in\ src/share-subdirs.lisp tests/Makefile.in desktopintegration/Makefile.in\ \ doc/info/figures/Makefile.in doc/info/maxima-index.lisp doc/info/maxima.info doc/info/maxima.info-1 \ doc/info/maxima.info-2 doc/info/maxima.info-3 \ ) debian/save/%: % mkdir -p $(@D) [ -e $@ ] || cp $< $@ debian/save: $(SAVES) restore: ! [ -d debian/save ] || ( cd debian/save && for i in $$(find -type f); do cp $$i ../../$$i; done ) rm -rf debian/save MVERS:=$(shell head -n 1 debian/changelog | cut -f2 -d\ | tr -d '()' | cut -f1 -d-) build: build-arch build-indep build-arch: debian/save build-stamp build-indep: debian/save build-stamp build-stamp: dh_testdir aclocal automake echo '(progn (setq si::*optimize-maximum-pages* nil)(si::save-system "gcl"))' | GCL_ANSI=t gcl git_found=false PATH=$$(pwd):$$PATH GCL_ANSI=t ./configure --enable-gcl $$(gcl -batch -eval '(progn #-native-reloc(princ "--enable-gcl-alt-link"))') \ --enable-sys-proclaim \ --prefix=/usr \ --libexec=/usr/lib \ --mandir=/usr/share/man \ --infodir=/usr/share/info cp debian/favicon.ico doc/info/figures/ rm -f src/sys-proclaim.lisp PATH=$$(pwd):$$PATH GCL_ANSI=t $(MAKE) echo ':lisp (setq maxima::*maxima-started* nil si::*optimize-maximum-pages* t si::*code-block-reserve* (make-array 10000000 :element-type (quote character) :static t))(when (fboundp (quote si::sgc-on)) (si::sgc-on nil))(si::gbc t)(si::save-system "foo")' | \ GCL_MEM_MULTIPLE=1.0 GCL_GC_PAGE_MIN=0.5 GCL_GC_PAGE_MAX=0.75 GCL_GC_ALLOC_MIN=0.05 \ ./maxima-local && mv foo src/binary-gcl/maxima chmod +x ./maxima-local touch tests/tests-gcl.log GCL_MEM_MULTIPLE=1.0 GCL_GC_PAGE_MIN=0.5 GCL_GC_PAGE_MAX=0.75 GCL_GC_ALLOC_MIN=0.05 \ ./maxima-local -g --lisp=gcl --batch-string="run_testsuite();" >tmp 2>&1 & \ j=$$! ; echo Waiting on pid $$j ; \ tail -f --pid=$$j --retry tests/tests-gcl.log tmp & wait $$j touch tmp cat tmp >debian/test_results.out grep -q "No unexpected errors found." debian/test_results.out rm -f tmp echo ':lisp (setq si::*readline-prefix* "maxima::$$")(setq maxima::*maxima-started* nil maxima::*maxima-index-dir* "/usr/share/doc/maxima/info")(si::save-system "foo")' | \ GCL_MEM_MULTIPLE=1.0 GCL_GC_PAGE_MIN=0.5 GCL_GC_PAGE_MAX=0.75 GCL_GC_ALLOC_MIN=0.05 \ ./maxima-local && mv foo src/binary-gcl/maxima touch build-stamp BOOK:=debian/maximabook-19-Sept-2004.pdf clean: #restore dh_testdir dh_testroot ! [ -e Makefile ] || $(MAKE) clean debian/rules restore rm -rf $(BOOK) src/binary-gcl binary gcl src/sys-proclaim.lisp tests/tests-gcl.log rm -rf admin/Makefile config.log config.status crosscompile-windows/Makefile\ crosscompile-windows/wxwidgets/Makefile demo/Makefile doc/emaxima/Makefile\ doc/info/de/Makefile doc/info/de.utf8/Makefile doc/info/es/include-maxima.texi\ doc/info/es/Makefile doc/info/es.utf8/Makefile\ doc/info/Makefile doc/info/pt_BR/Makefile doc/info/pt_BR.utf8/Makefile\ doc/info/pt/include-maxima.texi doc/info/pt/Makefile doc/info/pt.utf8/Makefile\ doc/intromax/Makefile doc/Makefile doc/man/Makefile doc/man/maxima.1 doc/man/ru/maxima.1\ doc/share/Makefile interfaces/emacs/emaxima/Makefile interfaces/emacs/imaxima/Makefile\ interfaces/emacs/Makefile interfaces/emacs/misc/Makefile interfaces/Makefile\ interfaces/xmaxima/autoconf-variables.tcl interfaces/xmaxima/doc/figures/Makefile\ interfaces/xmaxima/doc/Makefile interfaces/xmaxima/Makefile interfaces/xmaxima/msgs/Makefile\ interfaces/xmaxima/Tkmaxima/Header.tcl interfaces/xmaxima/win32/Makefile interfaces/xmaxima/xmaxima\ lisp-utils/Makefile locale/Makefile Makefile maxima.iss maxima-local maxima.spec plotting/Makefile\ plotting/mgnuplot share/contrib/integration/Makefile share/contrib/Makefile\ share/contrib/maxima-odesolve/Makefile share/draw/Makefile share/logic/Makefile share/Makefile\ src/gcl-depends.mk src/Makefile src/maxima src/maxima.bat src/rmaxima tests/Makefile xmaxima-local\ interfaces/xmaxima/Tkmaxima/tclIndex desktopintegration/Makefile rm -rf bin/interfaces bin/doc bin/src bin/xmaxima rm -f doc/info/figures/Makefile rm -f tmp rm -f $(INSTALLS) rm -f debian/ChangeLog dh_clean LOC_DOC= (local copy) debian/%.install: debian/%.install.in cat $< | sed "s,@MVERS@,$(MVERS),g" >$@ INSTALLS:=$(shell ls -1 debian/*.install.in | sed 's,\.in$$,,1') debian/%.pdf: debian/%.pdf.uu cat $< | uudecode >$@ CHANGELOGS:=$(shell ls -1 ChangeLog*) debian/ChangeLog: $(CHANGELOGS) for i in $^; do echo "==========">>$@;echo "File: $$i" >>$@;echo "==========">>$@;cat $$i >>$@; done install: install-stamp install-stamp: build-stamp $(BOOK) $(INSTALLS) debian/ChangeLog dh_testdir dh_testroot dh_prep $(MAKE) install DESTDIR=$$(pwd)/debian/tmp INSTALL="/usr/bin/install -D" mkdir -p $$(pwd)/debian/tmp/usr/share/doc/maxima-doc cp -a debian/tmp/usr/share/maxima/$(MVERS)/doc/* \ $$(pwd)/debian/tmp/usr/share/doc/maxima-doc rm -rf debian/tmp/usr/share/maxima/$(MVERS)/doc ln -snf ../../doc/maxima-doc debian/tmp/usr/share/maxima/$(MVERS)/doc mkdir -p $$(pwd)/debian/tmp/usr/share/doc/xmaxima cp -a debian/tmp/usr/share/maxima/$(MVERS)/xmaxima/* \ $$(pwd)/debian/tmp/usr/share/doc/xmaxima rm -rf debian/tmp/usr/share/maxima/$(MVERS)/xmaxima ln -snf ../../doc/xmaxima debian/tmp/usr/share/maxima/$(MVERS)/xmaxima mkdir -p debian/tmp/usr/share/emacs/site-lisp/maxima cp -a debian/tmp/usr/share/maxima/$(MVERS)/emacs/* \ debian/tmp/usr/share/emacs/site-lisp/maxima rm debian/tmp/usr/share/emacs/site-lisp/maxima/dbl.el mkdir -p debian/tmp/usr/share/texmf/tex/latex mv debian/tmp/usr/share/emacs/site-lisp/maxima/*sty \ debian/tmp/usr/share/texmf/tex/latex rm -rf debian/tmp/usr/share/maxima/$(MVERS)/emacs ln -snf ../../emacs/site-lisp/maxima debian/tmp/usr/share/maxima/$(MVERS)/emacs for i in debian/tmp/usr/bin/xmaxima \ debian/tmp/usr/lib/maxima/$(MVERS)/mgnuplot ; do \ cat $$i | sed -e 's,^#!/bin/sh,#!/usr/bin/wish,1' \ -e 's,^exec wish,#exec wish,1' \ -e 's,\$${prefix}/share,/usr/share,1' \ -e 's,[Nn]etscape,sensible-browser,g' >tmp && chmod 755 tmp && \ mv tmp $$i ; done mkdir -p debian/tmp/usr/share/applications cp debian/xmaxima.desktop debian/tmp/usr/share/applications mkdir -p debian/tmp/usr/share/pixmaps ln -s /usr/share/doc/xmaxima/maxima-icon.png debian/tmp/usr/share/pixmaps/maxima-icon.png cp $(BOOK) debian/tmp/usr/share/doc/maxima-doc cd debian/tmp/usr/share/info && \ for i in $$(find -name "*.info"); do if ! grep -q START-INFO-DIR-ENTRY $$i ; then k=$$(basename $$i); k=$${k%.*}; awk '{if (!i) {i=1;printf("INFO-DIR-SECTION Maxima\nSTART-INFO-DIR-ENTRY\n* Maxima-%s: (%s). A computer algebra system -- contributions.\nEND-INFO-DIR-ENTRY\n",k,k);}} {print}' k=$$k $$i >$$i.tmp; diff -u $$i $$i.tmp ; mv $$i.tmp $$i ; fi ; done cat debian/tmp/usr/share/info/maxima.info | \ awk '/START-INFO-DIR-ENTRY/ {print "INFO-DIR-SECTION Maxima"}{print}' >debian/foo && \ mv debian/foo debian/tmp/usr/share/info/maxima.info cat debian/tmp/usr/share/man/man1/maxima.1 | \ sed 's,^.TH MAXIMA 1L,.TH MAXIMA 1,1' >debian/foo && \ mv debian/foo debian/tmp/usr/share/man/man1/maxima.1 for i in $$(find debian/tmp/usr/share/info -name "maxima-index.lisp") ; do \ mkdir -p debian/tmp/usr/share/doc/maxima/$$(basename $$(dirname $$i)) && \ cat $$i | sed 's,^(load-info-hashtables,(clrhash cl-info::*info-tables*)\n(load-info-hashtables,1' >tmp &&\ ! cmp $$i tmp && mv tmp $$i &&\ mv $$i debian/tmp/usr/share/doc/maxima/$$(basename $$(dirname $$i)) ; done chmod 755 ./debian/tmp/usr/share/maxima/$(MVERS)/share/contrib/lurkmathml/mathmltest rm -f debian/tmp/usr/share/info/dir debian/tmp/usr/share/maxima/$(MVERS)/share/logic/COPYING ! [ -e debian/tmp/usr/share/maxima/$(MVERS)/share/contrib/gentran/man/MANUAL.ps.gz ] ||\ gunzip debian/tmp/usr/share/maxima/$(MVERS)/share/contrib/gentran/man/MANUAL.ps.gz rm -f debian/tmp/usr/share/maxima/$(MVERS)/share/.gitattributes dh_install touch install-stamp # Build architecture-independent files here. binary-indep: build install dh_testdir -i dh_testroot -i dh_installdocs -i dh_installexamples -i dh_installmenu -i dh_installemacsen -i dh_installtex -i -p maxima-emacs dh_installcron -i dh_installman -i dh_lintian -i # dh_desktop -i dh_installinfo -p maxima-doc debian/tmp/usr/share/info/*info* dh_installchangelogs -i debian/ChangeLog dh_link -i dh_strip -i dh_compress -i -X.shtml -X.hh -Xmaxima-index.lisp dh_fixperms -i dh_installdeb -i dh_shlibdeps -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i # Build architecture-dependent files here. binary-arch: build install dh_testdir -a dh_testroot -a dh_installdocs -a dh_installexamples -a dh_installmenu -a dh_installemacsen -a dh_installcron -a dh_installman -a dh_lintian -a # dh_desktop -a dh_installinfo -a dh_installchangelogs -a debian/ChangeLog dh_link -a dh_strip -a $(NO_STRIP) dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a source diff: @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false binary: binary-indep binary-arch .PHONY: build build-arch build-indep clean binary-indep binary-arch binary install