1#!/usr/bin/make -f 2 3# Uncomment this to turn on verbose mode. 4#export DH_VERBOSE=1 5 6export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie 7export DEB_CFLAGS_MAINT_APPEND=-Wp,-D_FORTIFY_SOURCE=2 -fPIC 8export DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed -pie 9DPKG_EXPORT_BUILDFLAGS = 1 10include /usr/share/dpkg/buildflags.mk 11 12DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) 13 14BUILDDIR_unit = $(CURDIR)/debian/build-unit 15BUILDDIR_unit_debug = $(CURDIR)/debian/build-unit-debug 16INSTALLDIR = $(CURDIR)/debian/unit 17INSTALLDIR_dev = $(CURDIR)/debian/unit-dev 18BASEDIR = $(CURDIR) 19 20DOTESTS = 0 21 22config.env.%: 23 dh_testdir 24 mkdir -p $(BUILDDIR_$*) 25 cp -Pa $(CURDIR)/auto $(BUILDDIR_$*)/ 26 cp -Pa $(CURDIR)/configure $(BUILDDIR_$*)/ 27 cp -Pa $(CURDIR)/src $(BUILDDIR_$*)/ 28 cp -Pa $(CURDIR)/test $(BUILDDIR_$*)/ 29 touch $@ 30 31configure.unit: config.env.unit 32 cd $(BUILDDIR_unit) && \ 33 CFLAGS= ./configure \ 34 %%CONFIGURE_ARGS%% \ 35 --modules=/usr/lib/unit/modules \ 36 --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \ 37 --cc-opt="$(CFLAGS)" \ 38 --ld-opt="$(LDFLAGS)" 39 touch $@ 40 41configure.unit_debug: config.env.unit_debug 42 cd $(BUILDDIR_unit_debug) && \ 43 CFLAGS= ./configure \ 44 %%CONFIGURE_ARGS%% \ 45 --modules=/usr/lib/unit/debug-modules \ 46 --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \ 47 --cc-opt="$(CFLAGS)" \ 48 --ld-opt="$(LDFLAGS)" \ 49 --debug 50 touch $@ 51 52build-arch.%: configure.% 53 dh_testdir 54 $(MAKE) -C $(BUILDDIR_$*) 55 $(MAKE) -C $(BUILDDIR_$*) build/libunit.a 56ifeq ($(DOTESTS), 1) 57 $(MAKE) -C $(BUILDDIR_$*) tests 58endif 59 touch $@ 60 61do.tests: build 62 dh_testdir 63ifeq ($(DOTESTS), 1) 64 cd $(BUILDDIR_unit) && ./build/tests 65 cd $(BUILDDIR_unit_debug) && ./build/tests 66endif 67 touch $@ 68 69build-indep: 70 dh_testdir 71 touch $@ 72 73build-arch: build-arch.unit build-arch.unit_debug 74 dh_testdir 75 touch $@ 76 77build: build-arch build-indep 78 dh_testdir 79 touch $@ 80 81clean: 82 dh_testdir 83 dh_testroot 84 dh_clean 85 find $(CURDIR) -maxdepth 1 -size 0 -delete 86 87install: build do.tests 88 dh_testdir 89 dh_testroot 90 dh_prep 91 dh_installdirs 92 dh_installinit 93 dh_installlogrotate 94 cd $(BUILDDIR_unit) && DESTDIR=$(INSTALLDIR) make install 95 cd $(BUILDDIR_unit) && DESTDIR=$(INSTALLDIR_dev) make libunit-install 96 install -m 755 $(BUILDDIR_unit_debug)/build/unitd $(INSTALLDIR)/usr/sbin/unitd-debug 97 install -m 644 $(BUILDDIR_unit_debug)/build/libunit.a $(INSTALLDIR_dev)/usr/lib/$(DEB_HOST_MULTIARCH)/libunit-debug.a 98 mkdir -p $(INSTALLDIR)/usr/share/doc/unit/examples 99 install -m 644 debian/unit.example.config $(INSTALLDIR)/usr/share/doc/unit/examples/example.config 100 install -m 644 CHANGES $(INSTALLDIR)/usr/share/doc/unit/ 101 install -m 644 README $(INSTALLDIR)/usr/share/doc/unit/ 102 103binary-indep: build install 104 dh_testdir 105 dh_testroot 106 dh_installdocs 107 dh_installchangelogs 108 dh_link 109 dh_strip --dbg-package=unit-dbg 110 dh_shlibdeps 111 dh_compress 112 dh_fixperms 113 dh_installdeb 114 dh_perl 115 dh_gencontrol 116 dh_md5sums 117 dh_builddeb 118 119binary-arch: install 120 121binary: binary-indep binary-arch 122 123.PHONY: clean binary-indep binary-arch binary install build 124