#!/usr/bin/make -f INSTALL = install INSTALL_PROGRAM = $(INSTALL) -p -o root -g root -m 755 # Disable -fstack-protector-strong on s390x as it causes endless loops # in gcc-4.9. See https://bugs.debian.org/759870 for details ifeq (s390x,$(shell dpkg-architecture -qDEB_BUILD_ARCH)) export DEB_BUILD_MAINT_OPTIONS=hardening=-stackprotectorstrong endif DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk H_LDFLAGS = $(LDFLAGS) CFLAGS += -Wall -g CONFIGFLAGS = --prefix=/usr CONFIGFLAGS += --mandir=/usr/share/man CONFIGFLAGS += --bindir=/bin CONFIGFLAGS += LDFLAGS="-Wl,--as-needed -g $(H_LDFLAGS)" CONFIGFLAGS += --infodir=/usr/share/info CONFIGFLAGS += --enable-maildir-support CONFIGFLAGS += --enable-max-jobtable-size=256 CONFIGFLAGS += --enable-etcdir=/etc/zsh CONFIGFLAGS += --enable-function-subdirs CONFIGFLAGS += --enable-site-fndir=/usr/local/share/zsh/site-functions CONFIGFLAGS += --enable-fndir=/usr/share/zsh/functions CONFIGFLAGS += --with-tcsetpgrp CONFIGFLAGS += --with-term-lib="ncursesw tinfo" CONFIGFLAGS += --enable-cap --enable-pcre CONFIGFLAGS += --enable-readnullcmd=pager CONFIGFLAGS += --enable-custom-patchlevel=Debian CONFIGFLAGS += --enable-additional-fpath=/usr/share/zsh/vendor-functions,/usr/share/zsh/vendor-completions CONFIGFLAGS += --disable-ansi2knr STATICFLAGS = --disable-dynamic STATICFLAGS += --enable-ldflags=-static STATICFLAGS += --disable-dynamic-nss ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) CONFIGFLAGS += --enable-zsh-debug CONFIGFLAGS += --enable-zsh-mem-debug CONFIGFLAGS += --enable-zsh-mem-warning CONFIGFLAGS += --enable-zsh-secure-free CONFIGFLAGS += --enable-zsh-hash-debug endif BUILT_USING=$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W libcap-dev libncursesw5-dev libpcre3-dev libc-dev-bin) build: build-arch build-indep build-arch: configure-stamp dh_auto_build -B obj --parallel if dpkg-architecture -qDEB_BUILD_ARCH_OS | grep -qv hurd; then \ HOME="$(CURDIR)/obj/testhome" ZTST_verbose=1 dh_auto_test -B obj --parallel; \ fi touch $@ build-indep: configure-stamp dh_auto_build -B obj --parallel -- pdf touch $@ build-static: configure-static-stamp dh_testdir dh_auto_build -B obj-static --parallel #HOME="$(CURDIR)/obj-static/testhome" ZTST_verbose=1 dh_auto_test -B obj-static --parallel || true touch $@ build-debug: DEB_BUILD_OPTIONS+=debug build-debug: build configure: touch stamp-h.in dh_autotools-dev_updateconfig dh_autoreconf configure-stamp: configure dh_testdir chmod 755 configure mkdir -p obj/testhome dh_auto_configure -B obj -- $(CONFIGFLAGS) touch $@ configure-static-stamp: configure dh_testdir mkdir -p obj-static/testhome dh_auto_configure -B obj-static -- $(CONFIGFLAGS) $(STATICFLAGS) # cp debian/static.conf obj-static/Src/mymods.conf sed -i -e 's/files.mdd link=no/files.mdd link=static/;s/stat.mdd link=no/stat.mdd link=static/' \ obj-static/config.modules touch $@ clean: dh_testdir dh_autoreconf_clean dh_autotools-dev_restoreconfig rm -f build build-static dh_auto_clean -B obj --parallel dh_auto_clean -B obj-static --parallel dh_auto_clean --parallel dh_clean rm -rf config.cache obj obj-static autom4te.cache binary-indep: build-indep binary-arch-dynamic dh_testdir dh_testroot dh_installdocs -i --link-doc=zsh-common dh_installdirs -i cd obj && $(MAKE) install.man DESTDIR=$(CURDIR)/debian/zsh-common perl $(CURDIR)/Util/helpfiles Doc/zshbuiltins.1 debian/zsh-common/usr/share/zsh/help # functions dh_installexamples -pzsh-common -X.distfiles cd debian/zsh-common/usr/share/doc/zsh-common/examples/; mv Example Functions sed -i -e '1!b;s:^#!.*[ /]zsh:#!/bin/zsh:;s#/usr/local/bin#/usr/bin#' \ debian/zsh-common/usr/share/doc/zsh-common/examples/Misc/* cd obj && $(MAKE) install.fns DESTDIR=$(CURDIR)/debian/zsh-common rm -r debian/zsh-common/usr/local # move this to a non-root section; also drop it for cross-compiles awk '/^#define FPATH_DIR/ { head=$$3; gsub(/"/,"",head); }; \ /^#define FPATH_SUBDIRS/ { $$1=""; $$2=""; gsub(/[" ]/,""); tail=$$0; } \ END { printf "%s/%s\n", head, tail; };' \ obj/Src/zshpaths.h >obj/Src/zshpaths.temp debian/zsh/bin/zsh5 -fc \ 'setopt extendedglob; \ for i in debian/zsh-common/'`cat obj/Src/zshpaths.temp`'; do \ zcompile -U -M $$i.zwc $$i/*~*.zwc(^/); \ chmod 644 $$i.zwc; \ done' # Docs: Info + HTML cd obj && $(MAKE) install.info DESTDIR=$(CURDIR)/debian/zsh-doc rm -f debian/zsh-doc/usr/share/info/dir* cd obj && $(MAKE) install.html DESTDIR=$(CURDIR)/debian/zsh-doc htmldir=/usr/share/doc/zsh-doc/html # Work around texi2html unfriendliness sed -i -e 's/