From 3acc8718f232dbb38d624d4a834d22f6c0e9a2bb Mon Sep 17 00:00:00 2001
From: Martine Lenders <mlenders@inf.fu-berlin.de>
Date: Sat, 9 May 2015 16:39:23 +0200
Subject: [PATCH] ng_net: add 6LoWPAN as dependency for IEEE 802.15.4 devices

Only applies if ng_ipv6 also was included.
---
 Makefile.dep           | 32 ++++++++++++++++++++++++++++----
 Makefile.pseudomodules |  1 +
 2 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/Makefile.dep b/Makefile.dep
index f41be51907..2eb99d5a69 100644
--- a/Makefile.dep
+++ b/Makefile.dep
@@ -56,6 +56,34 @@ ifneq (,$(filter ng_nomac,$(USEMODULE)))
   USEMODULE += ng_netbase
 endif
 
+ifneq (,$(filter ng_at86rf2%,$(USEMODULE)))
+  USEMODULE += ng_at86rf2xx
+  USEMODULE += ng_ieee802154
+endif
+
+ifneq (,$(filter kw2xrf,$(USEMODULE)))
+  USEMODULE += ng_ieee802154
+endif
+
+ifneq (,$(filter xbee,$(USEMODULE)))
+  USEMODULE += ng_ieee802154
+endif
+
+ifneq (,$(filter ng_ieee802154,$(USEMODULE)))
+  ifneq (,$(filter ng_ipv6, $(USEMODULE)))
+    USEMODULE += ng_sixlowpan
+  endif
+  ifneq (,$(filter ng_ipv6_router, $(USEMODULE)))
+    USEMODULE += ng_sixlowpan   # TODO: replace with ng_sixlowpan_router
+  endif
+  ifneq (,$(filter ng_ipv6_default, $(USEMODULE)))
+    USEMODULE += ng_sixlowpan_default
+  endif
+  ifneq (,$(filter ng_ipv6_router_default, $(USEMODULE)))
+    USEMODULE += ng_sixlowpan_default   # TODO: replace with ng_sixlowpan_router_default
+  endif
+endif
+
 ifneq (,$(filter ng_sixlowpan_default,$(USEMODULE)))
   USEMODULE += ng_ipv6_default
   USEMODULE += ng_sixlowpan
@@ -246,10 +274,6 @@ ifneq (,$(filter oonf_common,$(USEMODULE)))
   USEMODULE += socket_base
 endif
 
-ifneq (,$(filter ng_at86rf2%,$(USEMODULE)))
-  USEMODULE += ng_at86rf2xx
-endif
-
 # if any log_* is used, also use LOG pseudomodule
 ifneq (,$(filter log_%,$(USEMODULE)))
   USEMODULE += log
diff --git a/Makefile.pseudomodules b/Makefile.pseudomodules
index f23954e445..55ce296e84 100644
--- a/Makefile.pseudomodules
+++ b/Makefile.pseudomodules
@@ -1,5 +1,6 @@
 PSEUDOMODULES += defaulttransceiver
 PSEUDOMODULES += transport_layer
+PSEUDOMODULES += ng_ieee802154
 PSEUDOMODULES += ng_ipv6_default
 PSEUDOMODULES += ng_ipv6_router
 PSEUDOMODULES += ng_ipv6_router_default
-- 
GitLab