Code

rules: Enabled harding build flags (use dpkg-buildflags).
[pkg-tig.git] / debian / rules
index e43e5a3f7b5391748332a15cd5092524275c8c4b..9c4aa1482e2c345c124bd32620fae187478a3af5 100755 (executable)
@@ -1,12 +1,24 @@
 #!/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)
+
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+
+CFLAGS   = $(shell dpkg-buildflags --get CFLAGS)
+CFLAGS  += -Wall -g -I/usr/include/ncursesw
+
+CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS)
+
+LDFLAGS  = $(shell dpkg-buildflags --get LDFLAGS)
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -O0
@@ -14,12 +26,21 @@ else
        CFLAGS += -O2
 endif
 
-build: build-stamp
+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-stamp:
+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
 
@@ -30,6 +51,12 @@ clean:
        
        $(MAKE) clean
        
+       rm -f config.h config.log config.make config.status
+       rm -rf manual.html-chunked/
+       rm -f manual.pdf manual.html manual.toc
+       rm -f tig.1 tig.1.html tigrc.5 tigrc.5.html
+       rm -f NEWS.html README.html
+       
        dh_clean 
 
 install: build
@@ -38,8 +65,7 @@ install: build
        dh_clean -k
        dh_installdirs
        
-       $(MAKE) install install-doc DESTDIR=$(CURDIR)/debian/tig \
-                       prefix=/usr mandir=/usr/share/man
+       $(MAKE) install install-doc DESTDIR=$(CURDIR)/debian/tig
        
        mkdir -p debian/tig/etc/bash_completion.d
        cp contrib/tig-completion.bash debian/tig/etc/bash_completion.d/tig
@@ -51,8 +77,8 @@ binary-indep:
 binary-arch: build install
        dh_testdir
        dh_testroot
-       dh_installchangelogs
-       dh_installdocs BUGS TODO manual.pdf
+       dh_installchangelogs NEWS
+       dh_installdocs BUGS manual.pdf
        dh_installexamples contrib/tigrc
        dh_link
        dh_strip
@@ -65,5 +91,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