diff --git a/tests/wscript b/tests/wscript
index 89ac662..55295bd 100644
--- a/tests/wscript
+++ b/tests/wscript
@@ -1,15 +1,14 @@
 # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
+
 top = '..'
 
 def build(bld):
-    if not bld.env.WITH_TESTS:
-        return
-
     tmpdir = 'UNIT_TESTS_TMPDIR="%s"' % bld.bldnode.make_node('tmp-files')
     bld.program(
-        target='../unit-tests',
+        target=f'{top}/unit-tests',
         name='unit-tests',
         source=bld.path.ant_glob(['*.cpp', 'unit-tests/**/*.cpp']),
-        use='ndn-cert',
+        use='libndn-cert',
         defines=[tmpdir],
+        includes=top,
         install_path=None)
diff --git a/tools/wscript b/tools/wscript
index 0a13cad..9d198e7 100644
--- a/tools/wscript
+++ b/tools/wscript
@@ -5,18 +5,18 @@
 def build(bld):
     bld.program(
         name='ndncert-client',
-        target='../bin/ndncert-client',
+        target=f'{top}/bin/ndncert-client',
         source='ndncert-client.cpp',
-        use='ndn-cert')
+        use='libndn-cert')
 
     bld.program(
         name='ndncert-ca-server',
-        target='../bin/ndncert-ca-server',
+        target=f'{top}/bin/ndncert-ca-server',
         source='ndncert-ca-server.cpp',
-        use='ndn-cert')
+        use='libndn-cert')
 
     bld.program(
         name='ndncert-ca-status',
-        target='../bin/ndncert-ca-status',
+        target=f'{top}/bin/ndncert-ca-status',
         source='ndncert-ca-status.cpp',
-        use='ndn-cert')
+        use='libndn-cert')
diff --git a/wscript b/wscript
index 65ffe3b..7eb451f 100644
--- a/wscript
+++ b/wscript
@@ -1,7 +1,7 @@
 # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
 
-from waflib import Utils
 import os
+from waflib import Utils
 
 VERSION = '0.1.0'
 APPNAME = 'ndncert'
@@ -16,6 +16,8 @@
     optgrp = opt.add_option_group('ndncert Options')
     optgrp.add_option('--with-tests', action='store_true', default=False,
                       help='Build unit tests')
+    optgrp.add_option('--without-tools', action='store_false', default=True, dest='with_tools',
+                      help='Do not build tools')
 
 def configure(conf):
     conf.load(['compiler_cxx', 'gnu_dirs',
@@ -23,6 +25,7 @@
                'boost', 'openssl', 'sqlite3'])
 
     conf.env.WITH_TESTS = conf.options.with_tests
+    conf.env.WITH_TOOLS = conf.options.with_tools
 
     # Prefer pkgconf if it's installed, because it gives more correct results
     # on Fedora/CentOS/RHEL/etc. See https://bugzilla.redhat.com/show_bug.cgi?id=1953348
@@ -67,12 +70,33 @@
 
 def build(bld):
     bld.shlib(target='ndn-cert',
+              name='libndn-cert',
               vnum=VERSION,
               cnum=VERSION,
               source=bld.path.ant_glob('src/**/*.cpp'),
               use='NDN_CXX BOOST OPENSSL SQLITE3',
               includes='src',
-              export_includes='src .')
+              export_includes='src')
+
+    if bld.env.WITH_TESTS:
+        bld.recurse('tests')
+
+    if bld.env.WITH_TOOLS:
+        bld.recurse('tools')
+
+    # Install header files
+    srcdir = bld.path.find_dir('src')
+    bld.install_files('${INCLUDEDIR}/ndncert',
+                      srcdir.ant_glob('**/*.hpp'),
+                      cwd=srcdir,
+                      relative_trick=True)
+    bld.install_files('${INCLUDEDIR}/ndncert/detail', 'src/detail/ndncert-config.hpp')
+
+    # Install sample configs
+    bld.install_files('${SYSCONFDIR}/ndncert',
+                      ['ca.conf.sample',
+                       'client.conf.sample',
+                       'ndncert-mail.conf.sample'])
 
     bld(features='subst',
         source='libndn-cert.pc.in',
@@ -80,23 +104,6 @@
         install_path='${LIBDIR}/pkgconfig',
         VERSION=VERSION)
 
-    bld.recurse('tools')
-    bld.recurse('tests')
-
-    bld.install_files(
-        dest='${INCLUDEDIR}/ndncert',
-        files=bld.path.ant_glob('src/**/*.hpp'),
-        cwd=bld.path.find_dir('src'),
-        relative_trick=True)
-
-    bld.install_files('${INCLUDEDIR}/ndncert/detail',
-                      bld.path.find_resource('src/detail/ndncert-config.hpp'))
-
-    bld.install_files('${SYSCONFDIR}/ndncert',
-                      ['ca.conf.sample',
-                       'client.conf.sample',
-                       'ndncert-mail.conf.sample'])
-
     bld(features='subst',
         name='ndncert-send-email-challenge',
         source='ndncert-send-email-challenge.py',
@@ -106,6 +113,6 @@
 
     if Utils.unversioned_sys_platform() == 'linux':
         bld(features='subst',
-            name='ndncert-ca.service',
+            name='systemd-units',
             source='systemd/ndncert-ca.service.in',
             target='systemd/ndncert-ca.service')
