Files
mercury/debian/rules
Fergus Henderson 8cb9a59f90 Some minor fixes for the Debian distribution.
Estimated hours taken: 0.5

Some minor fixes for the Debian distribution.

debian/rules:
	Delete a reference to the file msc.in, since that file is no
	longer part of the Mercury source distribution, now that we have
	dropped support for SICStus Prolog.

debian/copyright:
	Update the URL for the Mercury ftp site.
	Fix a few things that were missing (this file previously ended
	in an incomplete sentence).
1999-06-23 05:43:57 +00:00

104 lines
3.5 KiB
Makefile
Executable File

#!/usr/bin/make -f
# Sample debian.rules file - for GNU Hello (1.3).
# Copyright 1994,1995 by Ian Jackson.
# I hereby give you perpetual unlimited permission to copy,
# modify and relicense this file, provided that you do not remove
# my name from the file itself. (I assert my moral right of
# paternity under the Copyright, Designs and Patents Act 1988.)
# This file may have to be extensively modified
package=mercury
MERCURY_DOCS = BUGS HISTORY LIMITATIONS NEWS README RELEASE_NOTES \
README.Linux WORK_IN_PROGRESS
MERCURY_MANS = doc/c2init.1 doc/mmc.1 doc/mgnuc.1 doc/ml.1 \
doc/mprof.1
DEBIAN_DOCS = debian/README.debian debian/copyright
# To build, configure as if we are going to install in /usr,
# then build the compiler.
build:
$(checkdir)
autoconf
PATH="/usr/bin:/bin" ./configure --prefix=/usr
make
touch build
clean:
$(checkdir)
-rm -f build
autoconf
./configure
-mmake realclean
-rm -f config.status config.cache config.log configure.log
-rm -f runtime/mercury_conf.h boehm_gc/mercury_boehm_gc_conf.h
-rm -f Mmake.common
-rm -f configure
-rm -f `find . -name "*~"`
-rm -rf debian/tmp debian/files* core debian/substvars
binary-indep: checkroot build
$(checkdir)
# There are no architecture-independent files to be uploaded
# generated by this package. If there were any they would be
# made here.
# XXX This isn't entirely true - all the .int files (and such)
# are architecture independent. But that's not really worth worrying
# about.
# To build the binary package, we install into ./debian/tmp/usr
# However, we have configured as if we are going to install into
# /usr, so we need to convince the "make install" target to
# install elsewhere.
# We override INSTALL_PREFIX to tell it to install to ./debian/tmp/usr.
# Hardcoded paths should be depending on FINAL_INSTALL_PREFIX instead,
# which we leave configured for /usr.
binary-arch: checkroot build
$(checkdir)
-rm -rf debian/tmp
install -d debian/tmp
cd debian/tmp;install -d `cat ../dirs`
make install INSTALL_PREFIX=`pwd`/debian/tmp/usr ;\
cp boehm_gc/README debian/tmp/usr/doc/mercury/README.boehm_gc
# According to debian policy, samples go in examples
cp -r samples debian/tmp/usr/doc/mercury/examples
# install the various information files into /usr/doc
install -m 644 $(MERCURY_DOCS) $(DEBIAN_DOCS) debian/tmp/usr/doc/mercury
install -m 644 debian/changelog \
debian/tmp/usr/doc/mercury/changelog.Debian
# install the manpages
install -m 644 $(MERCURY_MANS) debian/tmp/usr/man/man1/
# compress manpages, info pages, and html
gzip -9 `find debian/tmp/usr/man -type f 2>/dev/null`
gzip -9 `find debian/tmp/usr/info -type f`
gzip -9 `find debian/tmp/usr/doc -type f -size +4k ! -name "*.htm*"`
# strip all executables
strip `find debian/tmp -type f -perm +111 | xargs file | fgrep ELF | sed 's/^\([^:]*\):.*$$/\1/'`
# create DEBIAN directory
install -d debian/tmp/DEBIAN
# install necessary scrips into debian directory
install -m 755 debian/postinst debian/postrm debian/tmp/DEBIAN/
dpkg-shlibdeps `find debian/tmp -type f -perm +111 | xargs file | fgrep ELF | sed 's/^\([^:]*\):.*$$/\1/'`
md5sum `find debian/tmp/* -type f ! -regex "debian/tmp/DEBIAN/.*"` >debian/tmp/DEBIAN/checksums
dpkg-gencontrol
chown -R root.root debian/tmp
chmod -R go=rX debian/tmp
dpkg --build debian/tmp ..
define checkdir
test -f debian/rules
endef
# Below here is fairly generic really
binary: binary-indep binary-arch
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
checkroot:
$(checkdir)
test root = "`whoami`"
.PHONY: binary binary-arch binary-indep clean checkroot