summaryrefslogtreecommitdiffstats
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules450
1 files changed, 450 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..8a5483d
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,450 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+soversion = 7
+libversion = $(soversion).0
+
+# architecture dependent variables
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+CROSS=$(DEB_HOST_GNU_TYPE)-gcc
+else
+CROSS=gcc
+endif
+
+ifneq (,$(findstring /$(DEB_HOST_ARCH)/,/i386/powerpc/sparc/s390/))
+ build64 = yes
+ CC64 = $(CROSS) -m64
+ gencontrol_flags = -- \
+ '-Vdevxx:Depends=libc6-dev-$(ARCH64)'
+ ifeq ($(DEB_HOST_ARCH),i386)
+ ARCH64 = amd64
+ HOST64 = x86_64-linux-gnu
+ endif
+ ifeq ($(DEB_HOST_ARCH),powerpc)
+ ARCH64 = ppc64
+ HOST64 = ppc64-linux-gnu
+ endif
+ ifeq ($(DEB_HOST_ARCH),sparc)
+ ARCH64 = sparc64
+ HOST64 = sparc64-linux-gnu
+ endif
+ ifeq ($(DEB_HOST_ARCH),s390)
+ ARCH64 = s390x
+ HOST64 = s390x-linux-gnu
+ endif
+endif
+
+ifneq (,$(findstring /$(DEB_HOST_ARCH)/,/amd64/ppc64/))
+ build32 = yes
+ CC32 = $(CROSS) -m32
+ lib32dir = lib32
+ lib32devdir = usr/lib32
+ gencontrol_flags = -- \
+ '-Vdevxx:Depends=libc6-dev-$(ARCH32)'
+ ifeq ($(DEB_HOST_ARCH),amd64)
+ ARCH32 = i386
+ HOST32 = i486-linux-gnu
+ endif
+ ifeq ($(DEB_HOST_ARCH),ppc64)
+ ARCH32 = powerpc
+ HOST32 = powerpc-linux-gnu
+ endif
+endif
+
+unexport CPPFLAGS CFLAGS LDFLAGS
+
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+CFLAGS := $(CFLAGS) -I/usr/include/ncursesw
+
+CC = $(CROSS)
+
+SHELL = bash
+
+p_rl = libreadline$(soversion)
+p_rl32 = lib32readline$(soversion)
+p_rl64 = lib64readline$(soversion)
+p_comm = readline-common
+p_rld = libreadline-dev
+p_rld32 = lib32readline-dev
+p_rld64 = lib64readline-dev
+p_doc = readline-doc
+p_rlfe = rlfe
+
+d = debian/tmp
+d32 = debian/tmp32
+d64 = debian/tmp64
+d_rl = debian/$(p_rl)
+d_rl32 = debian/$(p_rl32)
+d_rl64 = debian/$(p_rl64)
+d_comm = debian/$(p_comm)
+d_rld = debian/$(p_rld)
+d_rld32 = debian/$(p_rld32)
+d_rld64 = debian/$(p_rld64)
+d_doc = debian/$(p_doc)
+d_rlfe = debian/$(p_rlfe)
+
+srcdir = $(CURDIR)
+builddir = $(CURDIR)/build
+builddir32 = $(CURDIR)/build32
+builddir64 = $(CURDIR)/build64
+
+default: build
+
+configure: configure-stamp
+configure-stamp:
+ dh_testdir
+ cp -p /usr/share/misc/config.* ./support/
+ rm -rf $(builddir)
+ mkdir $(builddir)
+ find . -type d | xargs chmod g-s
+ cd $(builddir) && \
+ CC=$(CC) CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" $(srcdir)/configure \
+ --prefix=/usr\
+ --host=$(DEB_HOST_GNU_TYPE) \
+ --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)
+
+ifneq ($(build32),)
+ rm -rf $(builddir32)
+ mkdir $(builddir32)
+ cd $(builddir32) && \
+ CC="$(CC32)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" $(srcdir)/configure \
+ --host=$(HOST32) --prefix=/usr
+endif
+
+ifneq ($(build64),)
+ rm -rf $(builddir64)
+ mkdir $(builddir64)
+ cd $(builddir64) && \
+ CC="$(CC64)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" $(srcdir)/configure \
+ --host=$(HOST64) --prefix=/usr
+endif
+
+ touch configure-stamp
+
+ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+build: build-stamp build-rlfe-stamp
+else
+build: build-stamp
+endif
+build-arch: build
+build-indep: build
+
+build-stamp: configure-stamp
+ dh_testdir
+ $(MAKE) -C $(builddir) \
+ CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
+ SHOBJ_CFLAGS="-fPIC -D_REENTRANT" \
+ SHOBJ_LDFLAGS='$(LDFLAGS) -shared' \
+ SHLIB_LIBS="-ltinfo"
+
+ifneq ($(build32),)
+ $(MAKE) -C $(builddir32) \
+ CC="$(CC32)" \
+ CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
+ SHOBJ_CFLAGS="-fPIC -D_REENTRANT" \
+ SHOBJ_LDFLAGS='$(LDFLAGS) -shared' \
+ SHLIB_LIBS="-ltinfo"
+ SHLIB_XLDFLAGS='-Wl,-soname,`echo $$@ | sed s/\\..$$$$//`'
+endif
+
+ifneq ($(build64),)
+ $(MAKE) -C $(builddir64) \
+ CC="$(CC64)" \
+ CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
+ SHOBJ_CFLAGS="-fPIC -D_REENTRANT" \
+ SHOBJ_LDFLAGS='$(LDFLAGS) -shared' \
+ SHLIB_LIBS="-ltinfo"
+ SHLIB_XLDFLAGS='-Wl,-soname,`echo $$@ | sed s/\\..$$$$//`'
+endif
+ $(MAKE) -C $(builddir)/doc info
+
+ touch build-stamp
+
+build-rlfe-stamp: configure-stamp
+ dh_testdir
+ ln -sf libhistory.so.$(libversion) \
+ $(builddir)/shlib/libhistory.so.$(soversion)
+ ln -sf libhistory.so.$(soversion) $(builddir)/shlib/libhistory.so
+ ln -sf libreadline.so.$(libversion) \
+ $(builddir)/shlib/libreadline.so.$(soversion)
+ ln -sf libreadline.so.$(soversion) $(builddir)/shlib/libreadline.so
+ rm -rf $(builddir)/examples/rlfe
+ cp -a examples/rlfe $(builddir)/examples/
+ ln -sf ../../.. $(builddir)/examples/rlfe/readline
+ cd $(builddir)/examples/rlfe \
+ && ./configure --prefix=/usr --host=$(DEB_HOST_GNU_TYPE)
+ $(MAKE) -C $(builddir)/examples/rlfe \
+ CFLAGS="$(CFLAGS) -D_GNU_SOURCE" CPPFLAGS="$(CPPFLAGS)" \
+ LDFLAGS="$(LDFLAGS) -g -L$(builddir)/shlib" \
+ LIBS="-lreadline -ltinfo -lutil" rlfe
+ touch build-rlfe-stamp
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f configure*-stamp build*-stamp install-stamp
+ rm -rf autom4te.cache
+ rm -rf $(builddir) $(builddir32) $(builddir64)
+ rm -rf debian/tmp*
+ rm -f doc/*.dvi
+ rm -f debian/shlibs.local
+ find . -type d | xargs chmod g-s
+ rm -f support/config.guess support/config.sub
+ dh_clean
+
+install: install-stamp
+install-stamp:
+ dh_testdir
+ dh_testroot
+ dh_prep
+ rm -rf $(d)
+ mkdir -p $(d)/usr/bin
+ $(MAKE) -C $(builddir) install \
+ CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS) -D_REENTRANT" \
+ SHOBJ_LDFLAGS='-shared $(LDFLAGS)' \
+ SHLIB_XLDFLAGS='-Wl,-soname,`echo $$@ | sed s/\\..$$$$//`' \
+ SHLIB_LIBS=-ltinfo \
+ DESTDIR=$(CURDIR)/$(d) \
+ mandir=/usr/share/man \
+ infodir=/usr/share/info
+
+ : # move $(p_rl)
+ dh_installdirs -p$(p_rl) \
+ etc \
+ lib/$(DEB_HOST_MULTIARCH) \
+ usr/share/doc
+ cp -a $(d)/usr/lib/$(DEB_HOST_MULTIARCH)/lib{history,readline}.so.* $(d_rl)/lib/$(DEB_HOST_MULTIARCH)/
+# cp -a $(d)/usr/lib/lib{history,readline}.so.$(libversion) $(d_rl)/lib/
+# ln -s libhistory.so.$(libversion) \
+# $(d_rl)/lib/libhistory.so.$(soversion)
+# ln -s libreadline.so.$(libversion) \
+# $(d_rl)/lib/libreadline.so.$(soversion)
+
+ : # move $(p_comm)
+ dh_installdirs -p$(p_comm) \
+ etc \
+ usr/share/readline \
+ usr/share/info \
+ usr/share/doc
+ mv $(d)/usr/share/man $(d_comm)/usr/share/.
+ mv $(d_comm)/usr/share/man/man3/history.3 \
+ $(d_comm)/usr/share/man/man3/history.3readline
+ mv $(d_comm)/usr/share/man/man3/readline.3 \
+ $(d_comm)/usr/share/man/man3/readline.3readline
+ mv $(d)/usr/share/info/rluserman.info $(d_comm)/usr/share/info/.
+ install -m 644 debian/inputrc $(d_comm)/usr/share/readline/
+
+ : # move $(p_rld)
+ dh_installdirs -p$(p_rld) \
+ usr/lib/$(DEB_HOST_MULTIARCH)/ \
+ usr/share/doc \
+ usr/share/info
+ ln -s /lib/$(DEB_HOST_MULTIARCH)/libhistory.so.$(soversion) \
+ $(d_rld)/usr/lib/$(DEB_HOST_MULTIARCH)/libhistory.so
+ ln -s /lib/$(DEB_HOST_MULTIARCH)/libreadline.so.$(soversion) \
+ $(d_rld)/usr/lib/$(DEB_HOST_MULTIARCH)/libreadline.so
+ mv $(d)/usr/lib/$(DEB_HOST_MULTIARCH)/lib{history,readline}.a \
+ $(d_rld)/usr/lib/$(DEB_HOST_MULTIARCH)/.
+ mv $(d)/usr/include $(d_rld)/usr/.
+
+ : # remove HAVE_CONFIG_H from installed headers
+ awk '/^#if defined \(HAVE_CONFIG_H\)/, /^#endif/ \
+ {if ($$0 == "#else") print "#include <string.h>"; next} {print}' \
+ $(d_rld)/usr/include/readline/chardefs.h \
+ > $(d_rld)/usr/include/readline/chardefs.h.new
+ if diff -u $(d_rld)/usr/include/readline/chardefs.h \
+ $(d_rld)/usr/include/readline/chardefs.h.new; \
+ then \
+ rm -f $(d_rld)/usr/include/readline/chardefs.h.new; \
+ else \
+ mv -f $(d_rld)/usr/include/readline/chardefs.h.new \
+ $(d_rld)/usr/include/readline/chardefs.h; \
+ fi
+
+ : # install $(p_rlfe)
+ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+ dh_installdirs -p$(p_rlfe) \
+ usr/bin usr/share/man/man1 \
+ usr/share/doc/$(p_rlfe)
+ cp -p $(builddir)/examples/rlfe/rlfe $(d_rlfe)/usr/bin/.
+ cp -p debian/rlfe.1 $(d_rlfe)/usr/share/man/man1/.
+endif
+
+ifneq ($(build32),)
+ rm -rf $(d32)
+ mkdir -p $(d32)/usr/bin
+ $(MAKE) -C $(builddir32) install \
+ CC="$(CC32)" \
+ CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS) -D_REENTRANT" \
+ SHOBJ_LDFLAGS='-shared $(LDFLAGS)' \
+ SHLIB_XLDFLAGS='-Wl,-soname,`echo $$@ | sed s/\\..$$$$//`' \
+ SHLIB_LIBS=-ltinfo \
+ DESTDIR=$(CURDIR)/$(d32) \
+ mandir=/usr/share/man \
+ infodir=/usr/share/info
+
+ dh_installdirs -p$(p_rl32) \
+ $(lib32dir) \
+ usr/share/doc
+ cp -p $(d32)/usr/lib/lib{history,readline}.so.$(libversion) \
+ $(d_rl32)/$(lib32dir)/
+ ln -s libhistory.so.$(libversion) \
+ $(d_rl32)/$(lib32dir)/libhistory.so.$(soversion)
+ ln -s libreadline.so.$(libversion) \
+ $(d_rl32)/$(lib32dir)/libreadline.so.$(soversion)
+
+ dh_installdirs -p$(p_rld32) \
+ $(lib32devdir) \
+ usr/share/doc
+ ln -s /$(lib32dir)/libhistory.so.$(soversion) \
+ $(d_rld32)/$(lib32devdir)/libhistory.so
+ ln -s /$(lib32dir)/libreadline.so.$(soversion) \
+ $(d_rld32)/$(lib32devdir)/libreadline.so
+ mv $(d32)/usr/lib/lib{history,readline}.a $(d_rld32)/$(lib32devdir)/.
+endif
+
+ifneq ($(build64),)
+ rm -rf $(d64)
+ mkdir -p $(d64)/usr/bin
+ $(MAKE) -C $(builddir64) install \
+ CC="$(CC64)" \
+ CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS) -D_REENTRANT" \
+ SHOBJ_LDFLAGS='-shared $(LDFLAGS)' \
+ SHLIB_XLDFLAGS='-Wl,-soname,`echo $$@ | sed s/\\..$$$$//`' \
+ SHLIB_LIBS=-ltinfo \
+ DESTDIR=$(CURDIR)/$(d64) \
+ mandir=/usr/share/man \
+ infodir=/usr/share/info
+
+ dh_installdirs -p$(p_rl64) \
+ lib64 \
+ usr/share/doc
+ dh_installdirs -p$(p_rld64) \
+ usr/share/doc
+ cp -p $(d64)/usr/lib/lib{history,readline}.so.$(libversion) \
+ $(d_rl64)/lib64/
+ ln -s libhistory.so.$(libversion) \
+ $(d_rl64)/lib64/libhistory.so.$(soversion)
+ ln -s libreadline.so.$(libversion) \
+ $(d_rl64)/lib64/libreadline.so.$(soversion)
+
+ dh_installdirs -p$(p_rld64) \
+ usr/lib64 \
+ usr/share/doc
+ ln -s /lib64/libhistory.so.$(soversion) \
+ $(d_rld64)/usr/lib64/libhistory.so
+ ln -s /lib64/libreadline.so.$(soversion) \
+ $(d_rld64)/usr/lib64/libreadline.so
+ mv $(d64)/usr/lib/lib{history,readline}.a $(d_rld64)/usr/lib64/.
+endif
+
+ : # $(p_doc)
+ mkdir -p $(d_doc)/usr/share/info
+ mv $(d)/usr/share/info/{readline.info,history.info} \
+ $(d_doc)/usr/share/info/.
+
+ touch install-stamp
+
+binary-indep: build install
+ dh_testdir
+ dh_testroot
+ mkdir -p $(d_doc)/usr/share/doc/$(p_rl)/examples
+ cp -p $(builddir)/examples/Makefile examples/*.c \
+ $(d_doc)/usr/share/doc/$(p_rl)/examples/
+ sed -i \
+ -e '/^srcdir =/s,=.*,= /usr/share/doc/$(p_rl)/examples,' \
+ -e '/^VPATH =/s,=.*,= .:/usr/share/doc/$(p_rl)/examples,' \
+ -e '/^top_srcdir =/s,=.*,= /usr/include/readline,' \
+ -e '/^BUILD_DIR =/s,=.*,= /usr/src/readline6/build,' \
+ $(d_doc)/usr/share/doc/$(p_rl)/examples/Makefile
+ dh_link -p$(p_doc) \
+ /usr/share/doc/$(p_rl)/examples /usr/share/doc/$(p_doc)/examples
+
+ mkdir -p $(d_comm)/usr/share/lintian/overrides
+ cp -p debian/readline-common.overrides \
+ $(d_comm)/usr/share/lintian/overrides/readline-common
+ dh_installdocs -p$(p_comm) debian/inputrc.arrows
+ dh_installdocs -p$(p_doc)
+ dh_installchangelogs -i
+ dh_installdocs -i
+ dh_fixperms -i
+ dh_compress -i
+ dh_installdeb -i
+ dh_gencontrol -i
+ dh_md5sums -i
+ dh_builddeb -i
+
+binary-arch: build install
+ dh_testdir
+ dh_testroot
+ dh_installdocs -p$(p_rl) \
+ USAGE debian/inputrc.arrows
+ dh_installchangelogs -p$(p_rl) CHANGES
+ dh_installexamples -p$(p_rl) \
+ examples/Inputrc
+ ln -sf $(p_rl) $(d_rld)/usr/share/doc/$(p_rld)
+
+ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+ dh_installdocs -p$(p_rlfe) examples/rlfe/README
+ dh_installchangelogs -p$(p_rlfe) examples/rlfe/ChangeLog
+
+ dh_fixperms -p$(p_rl) -p$(p_rld) -p$(p_rlfe)
+ dh_strip -p$(p_rl) -p$(p_rld) -p$(p_rlfe)
+ dh_compress -p$(p_rl) -p$(p_rld) -p$(p_rlfe) \
+ -X.c -XMakefile
+ dh_makeshlibs -p$(p_rl)
+ cp -p debian/$(p_rl).shlibs debian/shlibs.local
+ dh_shlibdeps -p$(p_rl) -p$(p_rld) -p$(p_rlfe) \
+ -L $(p_rl) -l $(d_rl)/lib
+endif
+
+ifneq ($(build32),)
+ -ls -l $(d_rld)/usr/share/doc/$(p_rl)
+ dh_installdocs -p$(p_rl32) \
+ USAGE debian/inputrc.arrows
+ dh_installchangelogs -p$(p_rl32) CHANGES
+ ln -sf $(p_rl32) $(d_rld32)/usr/share/doc/$(p_rld32)
+ dh_compress -p$(p_rl32) -p$(p_rld32)
+ dh_fixperms -p$(p_rl32) -p$(p_rld32)
+ dh_strip -p$(p_rl32) -p$(p_rld32)
+ dh_makeshlibs -p$(p_rl32)
+ -dh_shlibdeps -p$(p_rl32) -p$(p_rld32) \
+ -L $(p_rl32) -l $(d_rl32)/lib
+ -ls -l $(d_rld)/usr/share/doc/$(p_rl)
+endif
+
+ifneq ($(build64),)
+ -ls -l $(d_rld)/usr/share/doc/$(p_rl)
+ dh_installdocs -p$(p_rl64) \
+ USAGE debian/inputrc.arrows
+ dh_installchangelogs -p$(p_rl64) CHANGES
+ ln -sf $(p_rl64) $(d_rld64)/usr/share/doc/$(p_rld64)
+ dh_compress -p$(p_rl64) -p$(p_rld64)
+ dh_fixperms -p$(p_rl64) -p$(p_rld64)
+ dh_strip -p$(p_rl64) -p$(p_rld64)
+ dh_makeshlibs -p$(p_rl64)
+ -dh_shlibdeps -p$(p_rl64) -p$(p_rld64) \
+ -L $(p_rl64) -l $(d_rl64)/lib
+ -ls -l $(d_rld)/usr/share/doc/$(p_rl)
+endif
+
+ dh_installdeb -s
+ dh_gencontrol -s $(gencontrol_flags)
+ dh_md5sums -s
+ dh_builddeb -s
+
+binary: binary-indep binary-arch
+
+.PHONY: binary binary-arch binary-indep clean
+
+# Local Variables:
+# mode: makefile
+# end: