#!/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