diff --git a/.waf-tools/sphinx_build.py b/.waf-tools/sphinx_build.py
index e61da6e..b44a54f 100644
--- a/.waf-tools/sphinx_build.py
+++ b/.waf-tools/sphinx_build.py
@@ -44,28 +44,28 @@
     task.inputs.append(conf)
 
     confdir = conf.parent.abspath()
-    buildername = getattr(self, "builder", "html")
-    srcdir = getattr(self, "srcdir", confdir)
-    outdir = self.path.find_or_declare(getattr(self, "outdir", buildername)).get_bld()
-    doctreedir = getattr(self, "doctreedir", os.path.join(outdir.abspath(), ".doctrees"))
+    buildername = getattr(self, 'builder', 'html')
+    srcdir = getattr(self, 'srcdir', confdir)
+    outdir = self.path.find_or_declare(getattr(self, 'outdir', buildername)).get_bld()
+    doctreedir = getattr(self, 'doctreedir', os.path.join(outdir.abspath(), '.doctrees'))
 
     task.env['BUILDERNAME'] = buildername
     task.env['SRCDIR'] = srcdir
     task.env['DOCTREEDIR'] = doctreedir
     task.env['OUTDIR'] = outdir.abspath()
-    task.env['VERSION'] = "version=%s" % self.VERSION
-    task.env['RELEASE'] = "release=%s" % self.VERSION
+    task.env['VERSION'] = 'version=%s' % self.version
+    task.env['RELEASE'] = 'release=%s' % getattr(self, 'release', self.version)
 
     import imp
     confData = imp.load_source('sphinx_conf', conf.abspath())
 
-    if buildername == "man":
+    if buildername == 'man':
         for i in confData.man_pages:
             target = outdir.find_or_declare('%s.%d' % (i[1], i[4]))
             task.outputs.append(target)
 
             if self.install_path:
-                self.bld.install_files("%s/man%d/" % (self.install_path, i[4]), target)
+                self.bld.install_files('%s/man%d/' % (self.install_path, i[4]), target)
     else:
         task.outputs.append(outdir)
 
diff --git a/README.md b/README.md
index ab9b378..daf3dde 100644
--- a/README.md
+++ b/README.md
@@ -1,25 +1,38 @@
 # NDN Essential Tools
 
+![Language](https://img.shields.io/badge/C%2B%2B-14-blue.svg)
 [![Build Status](https://travis-ci.org/named-data/ndn-tools.svg?branch=master)](https://travis-ci.org/named-data/ndn-tools)
+![Latest Version](https://img.shields.io/github/tag/named-data/ndn-tools.svg?color=darkkhaki&label=latest%20version)
 
-**ndn-tools** is a collection of essential tools for
-[Named Data Networking](http://named-data.net/).
-These tools are recommended to be installed on all NDN nodes.  
+**ndn-tools** is a collection of basic tools for [Named Data Networking](https://named-data.net/).
 Tools in this collection include:
 
-* [peek](tools/peek): transmit a single packet between a consumer and a producer
-* [chunks](tools/chunks): segmented file transfer between a consumer and producer
-* [ping](tools/ping): test reachability between two nodes
-* [dump](tools/dump): analyze traffic on wire
-* [dissect](tools/dissect): inspect TLV structure of NDN packet format
-* [dissect-wireshark](tools/dissect-wireshark): Wireshark extension to inspect TLV structure of NDN
-  packets
+* [peek](tools/peek): transmit a single Interest/Data packet between a consumer
+  and a producer
+* [chunks](tools/chunks): segmented file transfer between a consumer and a producer
+* [ping](tools/ping): test reachability between two NDN nodes
+* [dump](tools/dump): capture and analyze live traffic on an NDN network
+* [dissect](tools/dissect): inspect the TLV structure of an NDN packet
+* [dissect-wireshark](tools/dissect-wireshark): Wireshark extension to inspect
+  the TLV structure of NDN packets
 
-See [INSTALL.md](INSTALL.md) for build instructions.
+## Installation
 
-If you are new to the NDN software community, please read the
-[Contributor's Guide](https://github.com/named-data/NFD/blob/master/CONTRIBUTING.md).  
-Please file bug reports and feature requests on
-[ndn-tools Redmine site](https://redmine.named-data.net/projects/ndn-tools).  
-You may contribute code on [NDN Gerrit](https://gerrit.named-data.net).
-GitHub pull requests are not accepted.
+See [`INSTALL.md`](INSTALL.md) for build instructions.
+
+## Reporting bugs
+
+Please submit any bug reports or feature requests to the
+[ndn-tools issue tracker](https://redmine.named-data.net/projects/ndn-tools/issues).
+
+## Contributing
+
+You're encouraged to contribute to ndn-tools!  If you are new to the NDN
+software community, please read [`README-dev.md`](README-dev.md) and the
+[Contributor's Guide](https://github.com/named-data/NFD/blob/master/CONTRIBUTING.md)
+to get started.
+
+## License
+
+ndn-tools is an open source project licensed under the GPL version 3.
+See [`COPYING.md`](COPYING.md) for more information.
diff --git a/manpages/conf.py b/manpages/conf.py
index 18c5985..bb5132f 100644
--- a/manpages/conf.py
+++ b/manpages/conf.py
@@ -1,18 +1,70 @@
-# General information about the project.
-project = u'NDN Essential Tools'
+# -*- coding: utf-8 -*-
+#
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# http://www.sphinx-doc.org/en/master/config
 
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+
+# -- Project information -----------------------------------------------------
+
+project = u'NDN Essential Tools'
+copyright = u'Copyright © 2014-2019 Named Data Networking Project.'
+author = u'Named Data Networking Project'
+
+# The short X.Y version
+#version = ''
+
+# The full version, including alpha/beta/rc tags
+#release = ''
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+today_fmt = '%Y-%m-%d'
+
+
+# -- General configuration ---------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#
+needs_sphinx = '1.1'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+]
+
+# The master toctree document.
 master_doc = 'index'
 
-# -- Options for manual page output ---------------------------------------
+
+# -- Options for manual page output ------------------------------------------
 
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
 man_pages = [
-    ('ndnpeek', 'ndnpeek', 'simple consumer to send one Interest and expect one Data', None, 1),
-    ('ndnpoke', 'ndnpoke', 'simple producer to publish one Data', None, 1),
-    ('ndnping', 'ndnping', 'reachability testing client', None, 1),
-    ('ndnpingserver', 'ndnpingserver', 'reachability testing server', None, 1),
-    ('ndndump', 'ndndump', 'traffic analysis tool', None, 8),
-    ('ndnputchunks', 'ndnputchunks', 'producer program with content segmentation', None, 1),
-    ('ndn-dissect', 'ndn-dissect', 'NDN packet format inspector', None, 1),
+    ('ndnpeek',         'ndnpeek',          'simple consumer to send one Interest and expect one Data', [], 1),
+    ('ndnpoke',         'ndnpoke',          'simple producer to publish one Data',          [], 1),
+    ('ndnping',         'ndnping',          'reachability testing client',                  [], 1),
+    ('ndnpingserver',   'ndnpingserver',    'reachability testing server',                  [], 1),
+    ('ndnputchunks',    'ndnputchunks',     'producer program with content segmentation',   [], 1),
+    ('ndndump',         'ndndump',          'traffic analysis tool',                        [], 8),
+    ('ndn-dissect',     'ndn-dissect',      'NDN packet format inspector',                  [], 1),
 ]
+
+# If true, show URL addresses after external links.
+#man_show_urls = True
diff --git a/manpages/wscript b/manpages/wscript
deleted file mode 100644
index e1093a4..0000000
--- a/manpages/wscript
+++ /dev/null
@@ -1,10 +0,0 @@
-def build(bld):
-    if not bld.env['SPHINX_BUILD']:
-        return
-    bld(features='sphinx',
-        builder='man',
-        outdir='.',
-        config='./conf.py',
-        source=bld.path.ant_glob('*.rst'),
-        install_path='${MANDIR}/',
-        VERSION=bld.env['VERSION'])
diff --git a/wscript b/wscript
index 0af89ba..3f41bcb 100644
--- a/wscript
+++ b/wscript
@@ -76,7 +76,17 @@
 
     bld.recurse('tools')
     bld.recurse('tests')
-    bld.recurse('manpages')
+
+    if bld.env.SPHINX_BUILD:
+        bld(features='sphinx',
+            name='manpages',
+            builder='man',
+            config='manpages/conf.py',
+            outdir='manpages',
+            source=bld.path.ant_glob('manpages/*.rst'),
+            install_path='${MANDIR}',
+            version=VERSION_BASE,
+            release=VERSION)
 
 def version(ctx):
     # don't execute more than once
