diff --git a/Makefile.dep b/Makefile.dep
index 88e7a7caebeaf3ae9782c18a549f9baa930b5c36..6428af7bffc1a0d934bf7a610753b82f1cbeb729 100644
--- a/Makefile.dep
+++ b/Makefile.dep
@@ -596,6 +596,7 @@ ifneq (,$(filter conn_can,$(USEMODULE)))
 endif
 
 ifneq (,$(filter random,$(USEMODULE)))
+  USEMODULE += prng
   # select default prng
   ifeq (,$(filter prng_%,$(USEMODULE)))
     USEMODULE += prng_tinymt32
diff --git a/makefiles/pseudomodules.inc.mk b/makefiles/pseudomodules.inc.mk
index 08c3be6e457309da68bb20717f0f32086b3b6136..3c3e4dd89b03c858100c29ca158ebb155bce7e37 100644
--- a/makefiles/pseudomodules.inc.mk
+++ b/makefiles/pseudomodules.inc.mk
@@ -53,6 +53,8 @@ PSEUDOMODULES += openthread
 PSEUDOMODULES += pktqueue
 PSEUDOMODULES += posix
 PSEUDOMODULES += printf_float
+PSEUDOMODULES += prng
+PSEUDOMODULES += prng_%
 PSEUDOMODULES += saul_adc
 PSEUDOMODULES += saul_default
 PSEUDOMODULES += saul_gpio
diff --git a/sys/auto_init/auto_init.c b/sys/auto_init/auto_init.c
index 7eb0635afc9e4ea1abd2daf9c9ddae9779498399..bbbd2ae2ef537b8a920d80c7799461acd5e7c636 100644
--- a/sys/auto_init/auto_init.c
+++ b/sys/auto_init/auto_init.c
@@ -80,7 +80,7 @@
 #include "net/fib.h"
 #endif
 
-#ifdef MODULE_TINYMT32
+#ifdef MODULE_PRNG
 #include "random.h"
 #endif
 
@@ -93,7 +93,7 @@
 
 void auto_init(void)
 {
-#ifdef MODULE_TINYMT32
+#ifdef MODULE_PRNG
     random_init(0);
 #endif
 #ifdef MODULE_XTIMER
diff --git a/sys/random/Makefile b/sys/random/Makefile
index 5c2f869aebad73f60f076331c5c73252e4eabc4a..17568988a9b3899ae5c35d35c115c20238cfd754 100644
--- a/sys/random/Makefile
+++ b/sys/random/Makefile
@@ -1,14 +1,7 @@
-ifneq (,$(filter prng_mersenne,$(USEMODULE)))
-    SRC += mersenne.c
-endif
-ifneq (,$(filter prng_minstd,$(USEMODULE)))
-    SRC += minstd.c
-endif
-ifneq (,$(filter prng_musl_lcg,$(USEMODULE)))
-    SRC += musl_lcg.c
-endif
+BASE_MODULE := prng
+SUBMODULES := 1
+
 ifneq (,$(filter prng_tinymt32,$(USEMODULE)))
-    SRC += prng_tinymt32.c
     DIRS += tinymt32
 endif
 
diff --git a/sys/random/prng_tinymt32.c b/sys/random/tinymt32.c
similarity index 100%
rename from sys/random/prng_tinymt32.c
rename to sys/random/tinymt32.c