ifneq (,$(filter gnrc_%,$(filter-out gnrc_netapi gnrc_netreg gnrc_netif% gnrc_pktbuf,$(USEMODULE)))) USEMODULE += gnrc endif ifneq (,$(filter schedstatistics,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter gnrc_netif_default,$(USEMODULE))) USEMODULE += gnrc_netif endif ifneq (,$(filter at86rf2%,$(USEMODULE))) USEMODULE += at86rf2xx USEMODULE += ieee802154 USEMODULE += xtimer endif ifneq (,$(filter kw2xrf,$(USEMODULE))) USEMODULE += ieee802154 endif ifneq (,$(filter xbee,$(USEMODULE))) USEMODULE += ieee802154 USEMODULE += xtimer endif ifneq (,$(filter gnrc_zep,$(USEMODULE))) USEMODULE += hashes USEMODULE += ieee802154 USEMODULE += gnrc_udp USEMODULE += random USEMODULE += vtimer endif ifneq (,$(filter gnrc_rpl,$(USEMODULE))) USEMODULE += fib USEMODULE += gnrc_ipv6_router_default USEMODULE += trickle USEMODULE += xtimer endif ifneq (,$(filter trickle,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter ieee802154,$(USEMODULE))) ifneq (,$(filter gnrc_ipv6, $(USEMODULE))) USEMODULE += gnrc_sixlowpan endif ifneq (,$(filter gnrc_ipv6_router, $(USEMODULE))) USEMODULE += gnrc_sixlowpan_router endif ifneq (,$(filter gnrc_ipv6_default, $(USEMODULE))) USEMODULE += gnrc_sixlowpan_default endif ifneq (,$(filter gnrc_ipv6_router_default, $(USEMODULE))) USEMODULE += gnrc_sixlowpan_router_default endif endif ifneq (,$(filter gnrc_sixlowpan_default,$(USEMODULE))) USEMODULE += gnrc_ipv6_default USEMODULE += gnrc_sixlowpan USEMODULE += gnrc_sixlowpan_nd USEMODULE += gnrc_sixlowpan_frag USEMODULE += gnrc_sixlowpan_iphc endif ifneq (,$(filter gnrc_sixlowpan_router_default,$(USEMODULE))) USEMODULE += gnrc_ipv6_router_default USEMODULE += gnrc_sixlowpan_router USEMODULE += gnrc_sixlowpan_frag USEMODULE += gnrc_sixlowpan_iphc endif ifneq (,$(filter gnrc_sixlowpan_border_router_default,$(USEMODULE))) USEMODULE += gnrc_ipv6_router_default USEMODULE += gnrc_sixlowpan_nd_border_router USEMODULE += gnrc_sixlowpan_router USEMODULE += gnrc_sixlowpan_frag USEMODULE += gnrc_sixlowpan_iphc endif ifneq (,$(filter gnrc_sixlowpan_router,$(USEMODULE))) USEMODULE += gnrc_sixlowpan_nd_router endif ifneq (,$(filter gnrc_sixlowpan_frag,$(USEMODULE))) USEMODULE += gnrc_sixlowpan USEMODULE += vtimer endif ifneq (,$(filter gnrc_sixlowpan_iphc,$(USEMODULE))) USEMODULE += gnrc_sixlowpan USEMODULE += gnrc_sixlowpan_ctx endif ifneq (,$(filter gnrc_sixlowpan,$(USEMODULE))) USEMODULE += gnrc_ipv6 USEMODULE += gnrc_sixlowpan_netif USEMODULE += sixlowpan endif ifneq (,$(filter gnrc_sixlowpan_ctx,$(USEMODULE))) USEMODULE += ipv6_addr USEMODULE += vtimer endif ifneq (,$(filter gnrc_sixlowpan_nd_border_router,$(USEMODULE))) USEMODULE += gnrc_sixlowpan_nd_router endif ifneq (,$(filter gnrc_sixlowpan_nd_router,$(USEMODULE))) USEMODULE += gnrc_sixlowpan_nd endif ifneq (,$(filter gnrc_sixlowpan_nd,$(USEMODULE))) USEMODULE += gnrc_ndp USEMODULE += gnrc_ndp_internal USEMODULE += gnrc_sixlowpan_ctx USEMODULE += random USEMODULE += vtimer endif ifneq (,$(filter gnrc_ipv6_default,$(USEMODULE))) USEMODULE += gnrc_ipv6 USEMODULE += gnrc_icmpv6 ifeq (1,$(GNRC_NETIF_NUMOF)) ifeq (,$(filter gnrc_sixlowpan_nd,$(USEMODULE))) USEMODULE += gnrc_ndp_host endif else USEMODULE += gnrc_ndp_host endif endif ifneq (,$(filter gnrc_ipv6_router_default,$(USEMODULE))) USEMODULE += gnrc_ipv6_router USEMODULE += gnrc_icmpv6 ifeq (1,$(GNRC_NETIF_NUMOF)) ifeq (,$(filter gnrc_sixlowpan_nd_router,$(USEMODULE))) USEMODULE += gnrc_ndp_router endif else USEMODULE += gnrc_ndp_router endif endif ifneq (,$(filter gnrc_ndp_host,$(USEMODULE))) USEMODULE += gnrc_ndp_node USEMODULE += random USEMODULE += vtimer endif ifneq (,$(filter gnrc_ndp_router,$(USEMODULE))) USEMODULE += gnrc_ndp_node USEMODULE += random USEMODULE += vtimer endif ifneq (,$(filter gnrc_ndp_node,$(USEMODULE))) USEMODULE += gnrc_ndp_internal endif ifneq (,$(filter gnrc_ndp_%,$(USEMODULE))) USEMODULE += gnrc_ndp endif ifneq (,$(filter gnrc_ndp,$(USEMODULE))) USEMODULE += gnrc_icmpv6 USEMODULE += random USEMODULE += timex USEMODULE += vtimer endif ifneq (,$(filter gnrc_icmpv6_echo,$(USEMODULE))) USEMODULE += gnrc_icmpv6 endif ifneq (,$(filter gnrc_icmpv6,$(USEMODULE))) USEMODULE += inet_csum USEMODULE += gnrc_ipv6 endif ifneq (,$(filter gnrc_rpl_srh,$(USEMODULE))) USEMODULE += ipv6_ext_rh endif ifneq (,$(filter ipv6_ext_rh,$(USEMODULE))) USEMODULE += ipv6_ext endif ifneq (,$(filter gnrc_ipv6_ext,$(USEMODULE))) USEMODULE += ipv6_ext USEMODULE += gnrc_ipv6 endif ifneq (,$(filter gnrc_ipv6_router,$(USEMODULE))) USEMODULE += gnrc_ipv6 endif ifneq (,$(filter gnrc_ipv6,$(USEMODULE))) USEMODULE += inet_csum USEMODULE += ipv6_addr USEMODULE += gnrc_ipv6_hdr USEMODULE += gnrc_ipv6_nc USEMODULE += gnrc_ipv6_netif endif ifneq (,$(filter gnrc_ipv6_hdr,$(USEMODULE))) USEMODULE += ipv6_hdr USEMODULE += gnrc_pktbuf endif ifneq (,$(filter sixlowpan,$(USEMODULE))) USEMODULE += ipv6_hdr endif ifneq (,$(filter ipv6_hdr,$(USEMODULE))) USEMODULE += inet_csum endif ifneq (,$(filter gnrc_ipv6_nc,$(USEMODULE))) USEMODULE += ipv6_addr endif ifneq (,$(filter gnrc_ipv6_netif,$(USEMODULE))) USEMODULE += ipv6_addr USEMODULE += gnrc_netif USEMODULE += bitfield endif ifneq (,$(filter gnrc_udp,$(USEMODULE))) USEMODULE += inet_csum USEMODULE += udp endif ifneq (,$(filter gnrc_nettest,$(USEMODULE))) USEMODULE += gnrc_netapi USEMODULE += gnrc_netreg USEMODULE += gnrc_netif USEMODULE += gnrc_pktbuf USEMODULE += vtimer endif ifneq (,$(filter gnrc_pktdump,$(USEMODULE))) USEMODULE += gnrc_pktbuf USEMODULE += od endif ifneq (,$(filter newlib,$(USEMODULE))) USEMODULE += uart_stdio endif ifneq (,$(filter posix,$(USEMODULE))) USEMODULE += timex USEMODULE += vtimer endif ifneq (,$(filter cbor,$(USEMODULE))) USEMODULE += net_help endif ifneq (,$(filter vtimer,$(USEMODULE))) USEMODULE += xtimer USEMODULE += timex endif ifneq (,$(filter rgbled,$(USEMODULE))) USEMODULE += color endif ifneq (,$(filter libfixmath-unittests,$(USEMODULE))) USEPKG += libfixmath endif ifneq (,$(filter nhdp,$(USEMODULE))) USEMODULE += vtimer USEMODULE += oonf_common USEMODULE += oonf_rfc5444 endif ifneq (,$(filter fib,$(USEMODULE))) USEMODULE += universal_address USEMODULE += xtimer USEMODULE += net_help endif ifneq (,$(filter oonf_common,$(USEMODULE))) USEPKG += oonf_api USEMODULE += socket_base endif # if any log_* is used, also use LOG pseudomodule ifneq (,$(filter log_%,$(USEMODULE))) USEMODULE += log endif ifneq (,$(filter cpp11-compat,$(USEMODULE))) USEMODULE += vtimer USEMODULE += timex FEATURES_REQUIRED += cpp endif ifneq (,$(filter gnrc_netdev_eth,$(USEMODULE))) USEMODULE += gnrc_pktbuf endif ifneq (,$(filter gnrc,$(USEMODULE))) USEMODULE += gnrc_netapi USEMODULE += gnrc_netreg USEMODULE += gnrc_netif USEMODULE += gnrc_netif_hdr USEMODULE += gnrc_pktbuf endif ifneq (,$(filter gnrc_pktbuf, $(USEMODULE))) ifeq (,$(filter gnrc_pktbuf_%, $(USEMODULE))) USEMODULE += gnrc_pktbuf_static endif endif ifneq (,$(filter gnrc_pktbuf_%, $(USEMODULE))) USEMODULE += gnrc_pktbuf # make MODULE_GNRC_PKTBUF macro available for all implementations endif ifneq (,$(filter gnrc_netdev2,$(USEMODULE))) USEMODULE += netopt endif ifneq (,$(filter hih6130,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter encx24j600,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter srf02,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter dht,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter lm75a,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter mpu9150,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter sht11,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter srf02,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter pcd8544,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter nvram_spi,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter ltc4150,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter pthread,$(USEMODULE))) USEMODULE += xtimer USEMODULE += vtimer USEMODULE += timex endif ifneq (,$(filter schedstatistics,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter xtimer,$(USEMODULE))) FEATURES_REQUIRED += periph_timer endif