Code

Don't update CFLAGS if DEB_BUILD_OPTIONS contains noopt.
[pkg-tig.git] / debian / rules
index 721ab264519c4cc1c9414cef07745a7f4c85d923..92ca06fe392bc5a565e16c3cd302ace7f4f0147c 100755 (executable)
@@ -1,47 +1,73 @@
 #!/usr/bin/make -f
-# debian/ruls for tig
+# debian/rules for tig
 #
-# Written by Sebastian Harl <sh@tokkee.org>
+# Written by Sebastian Harl <tokkee@debian.org>
 
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-CFLAGS = -Wall -g
+# 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)
 
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0
-else
-       CFLAGS += -O2
-endif
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
 
-include /usr/share/dpatch/dpatch.make
+CFLAGS   = $(shell dpkg-buildflags --get CFLAGS)
+CFLAGS  += -Wall -g -I/usr/include/ncursesw
 
-build: build-stamp
+CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS)
 
-build-stamp: patch
+LDFLAGS  = $(shell dpkg-buildflags --get LDFLAGS)
+
+config.status: configure
+       dh_testdir
+       ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
+               --prefix=/usr --mandir=\$${prefix}/share/man --sysconfdir=/etc \
+               CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
+
+build: build-arch build-indep
+
+build-arch: build-stamp
+build-indep: build-stamp
+
+build-stamp: config.status
        dh_testdir
        
-       CFLAGS="$(FLAGS)" $(MAKE) all doc
+       $(MAKE) all doc
        
        touch build-stamp
 
-clean: unpatch
+clean:
        dh_testdir
        dh_testroot
        rm -f build-stamp
        
-       -$(MAKE) clean
+       $(MAKE) clean
+       
+       rm -f config.h config.log config.make config.status
+       rm -rf doc/manual.html-chunked/
+       rm -f doc/manual.pdf doc/manual.html doc/manual.toc doc/manual.tex
+       rm -f doc/tigmanual.7
+       rm -f doc/tig.1 doc/tig.1.html doc/tigrc.5 doc/tigrc.5.html
+       rm -f INSTALL.html NEWS.html README.html
        
-       dh_clean 
+       dh_clean
 
 install: build
        dh_testdir
        dh_testroot
-       dh_clean -k
+       dh_prep
        dh_installdirs
        
-       $(MAKE) install install-doc DESTDIR=$(CURDIR)/debian/tig \
-                       prefix=/usr mandir=/usr/share/man
+       $(MAKE) install install-doc DESTDIR=$(CURDIR)/debian/tig
+       # don't ship install instructions; README only links to them
+       rm -f debian/tig/usr/share/doc/tig/INSTALL.html \
+               debian/tig/usr/share/doc/tig/README.html
+       
+       mkdir -p debian/tig/usr/share/bash-completion/completions
+       cp contrib/tig-completion.bash debian/tig/usr/share/bash-completion/completions/tig
+       chmod 644 debian/tig/usr/share/bash-completion/completions/tig
 
 binary-indep:
        # nothing to do here
@@ -49,12 +75,12 @@ binary-indep:
 binary-arch: build install
        dh_testdir
        dh_testroot
-       dh_installchangelogs
-       dh_installdocs BUGS TODO manual.pdf
-       dh_installexamples tigrc
+       dh_installchangelogs NEWS.adoc
+       dh_installdocs doc/manual.pdf
+       dh_installexamples contrib/*.tigrc
        dh_link
        dh_strip
-       dh_compress
+       dh_compress -X.pdf
        dh_fixperms
        dh_installdeb
        dh_shlibdeps
@@ -63,5 +89,5 @@ binary-arch: build install
        dh_builddeb
 
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install patch unpatch
+.PHONY: build clean binary-indep binary-arch binary install