From 88433cba2fbd065be2866b2e60b0d7d3c9c7a149 Mon Sep 17 00:00:00 2001
From: Kaspar Schleiser <kaspar@schleiser.de>
Date: Wed, 30 Aug 2017 23:49:30 +0200
Subject: [PATCH] sys: random: make use of submodules in Makefile

---
 Makefile.dep                               |  1 +
 makefiles/pseudomodules.inc.mk             |  2 ++
 sys/auto_init/auto_init.c                  |  4 ++--
 sys/random/Makefile                        | 13 +++----------
 sys/random/{prng_tinymt32.c => tinymt32.c} |  0
 5 files changed, 8 insertions(+), 12 deletions(-)
 rename sys/random/{prng_tinymt32.c => tinymt32.c} (100%)

diff --git a/Makefile.dep b/Makefile.dep
index 88e7a7caeb..6428af7bff 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 08c3be6e45..3c3e4dd89b 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 7eb0635afc..bbbd2ae2ef 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 5c2f869aeb..17568988a9 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
-- 
GitLab