tor/debian/rules
2004-11-12 17:21:16 +00:00

158 lines
4.0 KiB
Makefile
Executable File

#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
CFLAGS = -Wall -g
export PACKAGE=tor
include /usr/share/dpatch/dpatch.make
# Do not optimize the build with "noopt"
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
# Do not strip the binary with "nostrip"
#ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
# INSTALL_PROGRAM += -s
#endif
# Prevent the design paper from being built with "nodoc"
ifneq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
BUILD_DOC = no
endif
# Prevent the unit tests from being run with "nocheck"
ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
RUN_TEST = no
endif
ifneq (,$(findstring notest,$(DEB_BUILD_OPTIONS)))
RUN_TEST = no
endif
configure: patch-stamp
config.status: configure
dh_testdir
CFLAGS="$(CFLAGS)" ./configure \
--host=$(DEB_HOST_GNU_TYPE) \
--build=$(DEB_BUILD_GNU_TYPE) \
--prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--localstatedir=/var \
--sysconfdir=/etc
build: build-stamp
build-stamp: config.status
dh_testdir
$(MAKE)
@echo
@echo
# Running unit tests
if [ "$(RUN_TEST)" != "no" ]; then \
src/or/test; \
else \
echo -e "\n\nSkipping unittests\n\n"; \
fi
@echo
# make design paper
if [ "$(BUILD_DOC)" != "no" ]; then \
make -C doc/design-paper tor-design.ps tor-design.pdf || \
( echo -e "*\n*\n*\n*"; \
echo "* Building some docs failed, perhaps because you did not install the"; \
echo "* declared build dependencies and then used -o with dpkg-buildpackage."; \
echo "*"; \
echo "* If you want to skip this part, you can set nodoc in DEB_BUILD_OPTIONS" ; \
echo "* and start the build again. DEB_BUILD_OPTIONS=nodoc dpkg-buildpackage.."; \
echo -e "*\n*\n*\n*"; \
false ); \
else \
echo -e "\n\nSkipping tor-design.{ps,pdf}\n\n"; \
fi
touch build-stamp
clean: unpatch
dh_testdir
dh_testroot
rm -f build-stamp
-$(MAKE) distclean
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) install DESTDIR=$(CURDIR)/debian/tor
# move tor to where it belongs
mv $(CURDIR)/debian/tor/etc/tor/torrc.sample $(CURDIR)/debian/tor/etc/tor/torrc
mv $(CURDIR)/debian/tor/usr/bin/tor $(CURDIR)/debian/tor/usr/sbin/tor
install -d $(CURDIR)/debian/tor/usr/share/man/man8
mv $(CURDIR)/debian/tor/usr/share/man/man1/tor.1 $(CURDIR)/debian/tor/usr/share/man/man8/tor.8
install -m 755 contrib/torify $(CURDIR)/debian/tor/usr/bin
install -m 644 contrib/torify.1 $(CURDIR)/debian/tor/usr/share/man/man1
install -m 644 contrib/tor-tsocks.conf $(CURDIR)/debian/tor/etc/tor
install -m 644 debian/tor.lintian-override $(CURDIR)/debian/tor/usr/share/lintian/overrides/tor
dh_link usr/share/man/man8/tor.8 usr/share/man/man5/torrc.5
rm -f $(CURDIR)/debian/tor/usr/bin/tor-control.py
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs ChangeLog
dh_installdocs
if [ "$(BUILD_DOC)" != "no" ]; then \
install -m 644 doc/design-paper/tor-design.ps $(CURDIR)/debian/tor/usr/share/doc/tor/; \
install -m 644 doc/design-paper/tor-design.pdf $(CURDIR)/debian/tor/usr/share/doc/tor/; \
fi
dh_installexamples
# dh_install
# dh_installdebconf
dh_installlogrotate
# dh_installemacsen
# dh_installmime
dh_installinit
# dh_installcron
dh_installman
dh_link
#dh_strip
dh_compress
dh_fixperms
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install