Files
alien/debian/rules

127 lines
3.7 KiB
Plaintext
Raw Normal View History

1999-09-05 05:50:40 +00:00
#!/usr/bin/make -f
##############################################################################
# Generic debian/rules file. Based on:
#
#> 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.)
#
# Heavily modified by Joey Hess <joeyh@master.debian.org>
#
##############################################################################
#
# NOTE: You shouldn't have to edit this file. Edit debian/config instead.
# If you must edit this file to get your package to build properly, then
# I have failed. Let me know; mail me.
#
# (Currently not handled: multiple binary packages from 1 source package,
# and binary-indep rule.)
#
# NOTE: This file is designed so it doesn't need to be run as root. For
# actions that require that the user be root, the root password will be
# prompted for, if you're not already root.
#
##############################################################################
#
# Changelog:
# * Use build-stamp instead of build.
# * New email address.
# * Added changelog.
#
##############################################################################
# Include config file.
include debian/config
# Generate a makefile (via configure scriopt or xmkmf).
makefile-stamp:
ifeq ($(strip $(use_imakefile)),y)
xmkmf -a
endif
$(use_configure)
touch makefile-stamp
# Preserve some files that may get deleted/overwritten/modified otherwise.
preserve-stamp:
ifneq ($(strip $(preserve_files)),)
$(foreach file,$(preserve_files),-cp $(file) $(file).preserved)
endif
touch preserve-stamp
build-stamp: preserve-stamp makefile-stamp
$(checkdir)
$(build_command)
touch build-stamp
build: build-stamp
clean: preserve-stamp makefile-stamp
$(checkdir)
# Do actual cleaning up here.
-rm -f build-stamp
$(clean_command)
-rm -rf *~ debian/*~ debian/files* $(clean_files)
$(clean_tmp)
# Remove Makefile that xmkmf creates.
ifeq ($(strip $(use_imakefile)),y)
-rm -f Makefile
endif
# If we preserved some files, we need to restore them now.
ifneq ($(strip $(preserve_files)),)
$(foreach file,$(preserve_files),-mv -f $(file).preserved $(file))
endif
-rm -f preserve-stamp makefile-stamp
# Build architecture-independent files here.
# (not yet set up to be used)
binary-indep: build
$(checkdir)
# Build architecture-dependent files here.
binary-arch: build
$(checkdir)
$(clean_tmp)
$(install_command)
# Debstd handles lots of nasty details. This requires that the debmake
# package is installed.
debstd $(package) $(docs)
# Generate control file.
dpkg-gencontrol
# Set permissions.
@[ "`whoami`" != root ] && \
echo -e "\n ** Enter root password to set file permissions."; \
sudo debian/rules setperms
# Actually build the .deb file.
dpkg --build debian/tmp ..
# This must be run suid root, it sets the file permissions in debian/tmp
setperms:
chown -R root.root debian/tmp
chmod -R g-ws debian/tmp
$(ch_commands)
define checkdir
@test -f $(test_file) -a -f debian/rules || (echo -e "\n\
** \"$(test_file)\" or \"debian/rules\" does not exist.\n\
** Either \"$(package)\" is not unpacked in this directory, or\n\
** an incorrect test_file is specified in debian/config.\n" && false)
endef
# This rm's the debian/tmp directory.
define clean_tmp
-rm -rf debian/tmp >/dev/null 2>&1
@if [ -d debian/tmp ]; then \
if [ "`whoami`" != root ]; then \
echo -e "\n ** Enter root password to remove debian/tmp."; \
fi; \
sudo rm -rf debian/tmp; \
fi
endef
binary: binary-indep binary-arch
.PHONY: clean setperms binary