# TESTSUITE
# ------------------------------------------------------------------------------
+EXTRA_DIST += scripts/setup-modules.sh
EXTRA_DIST += scripts/setup-rootfs.sh
MODULE_PLAYGROUND = testsuite/module-playground
+BUILD_MODULES = $(AM_V_GEN) $(top_srcdir)/scripts/setup-modules.sh $(top_srcdir) $(top_builddir) $(MODULE_PLAYGROUND) $(module_directory)
ROOTFS = testsuite/rootfs
ROOTFS_PRISTINE = $(top_srcdir)/testsuite/rootfs-pristine
CREATE_ROOTFS = $(AM_V_GEN) $(top_srcdir)/scripts/setup-rootfs.sh $(ROOTFS_PRISTINE) $(ROOTFS) $(MODULE_PLAYGROUND) $(top_builddir)/config.h $(sysconfdir) $(module_directory)
build-module-playground:
- $(AM_V_GEN)if test "$(top_srcdir)" != "$(top_builddir)"; then \
- $(RM) -rf testsuite/module-playground && \
- mkdir -p testsuite/ && \
- cp -r $(top_srcdir)/$(MODULE_PLAYGROUND) $(top_builddir)/$(MODULE_PLAYGROUND); \
- fi
- MODULE_DIRECTORY=$(module_directory) $(MAKE) -C $(MODULE_PLAYGROUND)
+ $(BUILD_MODULES)
rootfs: build-module-playground
--- /dev/null
+#!/bin/bash
+
+set -euo pipefail
+
+SRCDIR=$1
+BUILDDIR=$2
+MODULE_PLAYGROUND=$3
+# shellcheck disable=SC2034 # used by the Makefile
+export MODULE_DIRECTORY=$4
+
+# TODO: meson allows only out of tree builds
+if test "$SRCDIR" != "$BUILDDIR"; then
+ rm -rf "$MODULE_PLAYGROUND"
+ mkdir -p "$(dirname "$MODULE_PLAYGROUND")"
+ cp -r "$SRCDIR/$MODULE_PLAYGROUND" "$MODULE_PLAYGROUND"
+fi
+
+export MAKEFLAGS=${MAKEFLAGS-"-j$(nproc)"}
+"${MAKE-make}" -C "$PWD/$MODULE_PLAYGROUND" modules