# pull dependencies from drivers include $(RIOTBASE)/drivers/Makefile.dep ifneq (,$(filter libcoap,$(USEPKG))) USEMODULE += posix_sockets USEMODULE += gnrc_conn_udp endif ifneq (,$(filter ccn-lite,$(USEPKG))) export CFLAGS += -DCCNL_RIOT endif ifneq (,$(filter nhdp,$(USEMODULE))) USEMODULE += conn_udp USEMODULE += xtimer USEMODULE += oonf_rfc5444 endif ifneq (,$(filter gnrc_netdev_default,$(USEMODULE))) USEMODULE += gnrc_netif USEMODULE += netdev_default endif ifneq (,$(filter cc110x,$(USEMODULE))) ifneq (,$(filter gnrc_netdev_default,$(USEMODULE))) USEMODULE += gnrc_cc110x # XXX: this can be modelled as a dependency for gnrc_netdev_default as soon # as all drivers are ported to netdev2 USEMODULE += gnrc_netdev2 endif endif ifneq (,$(filter kw2xrf,$(USEMODULE))) ifneq (,$(filter gnrc_netdev_default,$(USEMODULE))) USEMODULE += gnrc_nomac endif endif ifneq (,$(filter at86rf2%,$(USEMODULE))) USEMODULE += netdev2_ieee802154 ifneq (,$(filter gnrc_netdev_default,$(USEMODULE))) # XXX: this can be modelled as a dependency for gnrc_netdev_default as soon # as all drivers are ported to netdev2 USEMODULE += gnrc_netdev2 endif endif ifneq (,$(filter netdev2_ieee802154,$(USEMODULE))) USEMODULE += ieee802154 endif ifneq (,$(filter gnrc_%,$(filter-out gnrc_netapi gnrc_netreg gnrc_netif% gnrc_pktbuf,$(USEMODULE)))) USEMODULE += gnrc endif ifneq (,$(filter gnrc_conn_%,$(USEMODULE))) USEMODULE += gnrc_conn endif ifneq (,$(filter gnrc_conn_udp,$(USEMODULE))) USEMODULE += gnrc_udp endif ifneq (,$(filter netdev2_tap,$(USEMODULE))) USEMODULE += netif USEMODULE += netdev2_eth ifneq (,$(filter gnrc_%,$(USEMODULE))) USEMODULE += gnrc_netdev2 endif endif ifneq (,$(filter gnrc_zep,$(USEMODULE))) USEMODULE += hashes USEMODULE += ieee802154 USEMODULE += gnrc_udp USEMODULE += random USEMODULE += xtimer endif ifneq (,$(filter gnrc_tftp,$(USEMODULE))) USEMODULE += gnrc_udp USEMODULE += xtimer endif ifneq (,$(filter gnrc_rpl_p2p,$(USEMODULE))) USEMODULE += gnrc_rpl 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 += xtimer endif ifneq (,$(filter gnrc_sixlowpan_iphc,$(USEMODULE))) USEMODULE += gnrc_sixlowpan USEMODULE += gnrc_sixlowpan_ctx # NHC is broken, so disable it for now. See #4544 and #4462. #USEMODULE += gnrc_sixlowpan_iphc_nhc 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 += xtimer 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 += xtimer 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 += xtimer endif ifneq (,$(filter gnrc_ndp_router,$(USEMODULE))) USEMODULE += gnrc_ndp_node USEMODULE += random USEMODULE += xtimer 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))) ifneq (,$(filter gnrc_sixlowpan,$(USEMODULE))) USEMODULE += gnrc_sixlowpan_nd else USEMODULE += gnrc_ndp_node endif USEMODULE += gnrc_ndp_internal USEMODULE += gnrc_icmpv6 USEMODULE += random USEMODULE += xtimer endif ifneq (,$(filter gnrc_icmpv6_echo,$(USEMODULE))) USEMODULE += gnrc_icmpv6 endif ifneq (,$(filter gnrc_icmpv6_error,$(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 += gnrc_ipv6 endif ifneq (,$(filter gnrc_ipv6_whitelist,$(USEMODULE))) USEMODULE += ipv6_addr endif ifneq (,$(filter gnrc_ipv6_blacklist,$(USEMODULE))) USEMODULE += ipv6_addr 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 USEMODULE += ipv6_addr 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 USEMODULE += xtimer 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 += xtimer endif ifneq (,$(filter gnrc_pktdump,$(USEMODULE))) USEMODULE += gnrc_pktbuf USEMODULE += od endif ifneq (,$(filter newlib_nano,$(USEMODULE))) USEMODULE += newlib endif ifneq (,$(filter newlib,$(USEMODULE))) # allow custom newlib syscalls implementations by adding # newlib_syscalls_XXX to USEMODULE ifeq (,$(filter newlib_syscalls_%,$(USEMODULE))) USEMODULE += newlib_syscalls_default endif USEMODULE += uart_stdio endif ifneq (,$(filter posix_sockets,$(USEMODULE))) USEMODULE += posix USEMODULE += random endif ifneq (,$(filter uart_stdio,$(USEMODULE))) USEMODULE += tsrb endif ifneq (,$(filter posix,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter posix_semaphore,$(USEMODULE))) USEMODULE += sema USEMODULE += xtimer endif ifneq (,$(filter lwip,$(USEMODULE))) USEPKG += lwip USEMODULE += lwip_core endif ifneq (,$(filter sema,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter libfixmath-unittests,$(USEMODULE))) USEPKG += libfixmath endif ifneq (,$(filter fib,$(USEMODULE))) USEMODULE += universal_address USEMODULE += xtimer endif ifneq (,$(filter oonf_rfc5444,$(USEMODULE))) USEMODULE += oonf_common endif ifneq (,$(filter oonf_common,$(USEMODULE))) USEPKG += oonf_api USEMODULE += posix_sockets endif ifneq (,$(filter %_conn_ip,$(USEMODULE))) USEMODULE += conn_ip endif ifneq (,$(filter %_conn_tcp,$(USEMODULE))) USEMODULE += conn_tcp endif ifneq (,$(filter %_conn_udp,$(USEMODULE))) USEMODULE += conn_udp endif ifneq (,$(filter conn_%,$(USEMODULE))) USEMODULE += conn endif # if any log_* is used, also use LOG pseudomodule ifneq (,$(filter log_%,$(USEMODULE))) USEMODULE += log endif ifneq (,$(filter cpp11-compat,$(USEMODULE))) USEMODULE += xtimer USEMODULE += timex FEATURES_REQUIRED += cpp 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 USEMODULE += gnrc_pkt 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 pthread,$(USEMODULE))) USEMODULE += xtimer USEMODULE += timex endif ifneq (,$(filter schedstatistics,$(USEMODULE))) USEMODULE += xtimer endif ifneq (,$(filter arduino,$(USEMODULE))) FEATURES_REQUIRED += arduino FEATURES_REQUIRED += cpp USEMODULE += xtimer endif ifneq (,$(filter xtimer,$(USEMODULE))) FEATURES_REQUIRED += periph_timer endif ifneq (,$(filter saul_reg,$(USEMODULE))) USEMODULE += saul endif ifneq (,$(filter saul_default,$(USEMODULE))) USEMODULE += saul endif ifneq (,$(filter saul,$(USEMODULE))) USEMODULE += phydat endif ifneq (,$(filter phydat,$(USEMODULE))) USEMODULE += fmt endif ifneq (,$(filter ethos,$(USEMODULE))) USEMODULE += netdev2_eth endif ifneq (,$(filter random,$(USEMODULE))) # select default prng ifeq (,$(filter prng_%,$(USEMODULE))) USEMODULE += prng_tinymt32 endif ifneq (,$(filter prng_tinymt32,$(USEMODULE))) USEMODULE += tinymt32 endif endif