Index: uspace/lib/pcut/Makefile
===================================================================
--- uspace/lib/pcut/Makefile	(revision a4e78743a4f4b5720e7ef6c7386d40d69e40fc9b)
+++ 	(revision )
@@ -1,39 +1,0 @@
-#
-# This file was generated by call to update-from-master.sh
-#
-
-USPACE_PREFIX = ../..
-PCUT_TEST_PREFIX = test-libpcut-
-
-SELF_TESTS = \
-	$(PCUT_TEST_PREFIX)abort$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)asserts$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)beforeafter$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)errno$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)inithook$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)manytests$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)multisuite$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)preinithook$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)printing$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)simple$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)skip$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)suites$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)teardownaborts$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)teardown$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)testlist$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)timeout$(PCUT_TEST_SUFFIX) \
-	$(PCUT_TEST_PREFIX)xmlreport$(PCUT_TEST_SUFFIX)
-
-EXTRA_CLEAN = $(SELF_TESTS)
-
-include helenos.mak
-
-include $(USPACE_PREFIX)/Makefile.common
-
-include helenos.test.mak
-
-all-test: $(SELF_TESTS)
-
-test-libpcut-%: $(LIBRARY).a
-	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(START_FILES) $^ $(LIBRARY).a $(BASE_LIBS)
-
Index: uspace/lib/pcut/meson.build
===================================================================
--- uspace/lib/pcut/meson.build	(revision ecf56f8012dce1cff83b7c7cd0cdab2b6e1d082f)
+++ uspace/lib/pcut/meson.build	(revision ecf56f8012dce1cff83b7c7cd0cdab2b6e1d082f)
@@ -0,0 +1,18 @@
+c_args += [ '-D__helenos__', '-Wno-unknown-pragmas' ]
+
+src = files(
+	'src/os/helenos.c',
+	'src/assert.c',
+	'src/helper.c',
+	'src/list.c',
+	'src/main.c',
+	'src/print.c',
+	'src/report/report.c',
+	'src/report/tap.c',
+	'src/report/xml.c',
+	'src/run.c',
+)
+
+if CONFIG_PCUT_SELF_TESTS
+	subdir('tests')
+endif
Index: uspace/lib/pcut/tests/meson.build
===================================================================
--- uspace/lib/pcut/tests/meson.build	(revision ecf56f8012dce1cff83b7c7cd0cdab2b6e1d082f)
+++ uspace/lib/pcut/tests/meson.build	(revision ecf56f8012dce1cff83b7c7cd0cdab2b6e1d082f)
@@ -0,0 +1,27 @@
+self_tests = [
+	[ 'abort', files('abort.c') ],
+	[ 'asserts', files('asserts.c') ],
+	[ 'beforeafter', files('beforeafter.c') ],
+	[ 'errno', files('errno.c') ],
+	[ 'inithook', files('inithook.c') ],
+	[ 'manytests', files('manytests.c') ],
+	[ 'multisuite', files('suite_all.c', 'suite1.c', 'suite2.c', 'tested.c') ],
+	[ 'preinithook', files('inithook.c') ],
+	[ 'printing', files('printing.c') ],
+	[ 'simple', files('simple.c', 'tested.c') ],
+	[ 'skip', files('skip.c') ],
+	[ 'suites', files('suites.c', 'tested.c') ],
+	[ 'teardownaborts', files('teardownaborts.c') ],
+	[ 'teardown', files('teardown.c', 'tested.c') ],
+	[ 'testlist', files('testlist.c') ],
+	[ 'timeout', files('timeout.c') ],
+	[ 'xmlreport', files('xmlreport.c', 'tested.c') ],
+]
+
+foreach t : self_tests
+		testfiles += [ {
+			'name': 'pcut-' + t[0],
+			'src': t[1],
+			'includes': include_directories('../include'),
+		} ]
+endforeach
