mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-21 20:33:55 +00:00
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).
104 lines
3.5 KiB
Makefile
Executable File
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
|