You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
575 lines
12 KiB
575 lines
12 KiB
# |
|
OLD_USEMODULE := $(sort $(USEMODULE)) |
|
OLD_USEPKG := $(sort $(USEPKG)) |
|
|
|
# include board dependencies |
|
-include $(RIOTBOARD)/$(BOARD)/Makefile.dep |
|
|
|
# pull dependencies from drivers |
|
include $(RIOTBASE)/drivers/Makefile.dep |
|
|
|
ifneq (,$(filter csma_sender,$(USEMODULE))) |
|
USEMODULE += random |
|
USEMODULE += xtimer |
|
endif |
|
|
|
ifneq (,$(filter nhdp,$(USEMODULE))) |
|
USEMODULE += conn_udp |
|
USEMODULE += xtimer |
|
USEMODULE += oonf_rfc5444 |
|
endif |
|
|
|
ifneq (,$(filter sntp,$(USEMODULE))) |
|
USEMODULE += gnrc_sock_udp |
|
USEMODULE += xtimer |
|
endif |
|
|
|
ifneq (,$(filter gnrc_netdev_default,$(USEMODULE))) |
|
USEMODULE += gnrc_netif |
|
USEMODULE += gnrc_netdev2 |
|
USEMODULE += netdev_default |
|
endif |
|
|
|
ifneq (,$(filter netdev2_ieee802154,$(USEMODULE))) |
|
USEMODULE += ieee802154 |
|
endif |
|
|
|
ifneq (,$(filter gnrc_uhcpc,$(USEMODULE))) |
|
USEMODULE += uhcpc |
|
USEMODULE += gnrc_conn_udp |
|
USEMODULE += fmt |
|
endif |
|
|
|
ifneq (,$(filter nordic_softdevice_ble,$(USEPKG))) |
|
USEMODULE += softdevice_handler |
|
USEMODULE += ble_common |
|
USEMODULE += ble_6lowpan |
|
USEMODULE += gnrc_sixlowpan |
|
USEMODULE += gnrc_sixlowpan_iphc |
|
USEMODULE += gnrc_ipv6_default |
|
USEMODULE += gnrc_netdev2 |
|
USEMODULE += gnrc_ipv6_netif |
|
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 gnrc_sock_%,$(USEMODULE))) |
|
USEMODULE += gnrc_sock |
|
endif |
|
|
|
ifneq (,$(filter gnrc_sock_udp,$(USEMODULE))) |
|
USEMODULE += gnrc_udp |
|
USEMODULE += random # to generate random ports |
|
endif |
|
|
|
ifneq (,$(filter gnrc_sock,$(USEMODULE))) |
|
USEMODULE += gnrc_netapi_mbox |
|
endif |
|
|
|
ifneq (,$(filter gnrc_netapi_mbox,$(USEMODULE))) |
|
USEMODULE += core_mbox |
|
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 gcoap,$(USEMODULE))) |
|
USEMODULE += gnrc_udp |
|
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 += random |
|
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 |
|
ifneq (,$(filter lwip%, $(USEMODULE))) |
|
USEMODULE += lwip_sixlowpan |
|
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 |
|
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 |
|
ifeq (,$(filter rtt_stdio,$(USEMODULE))) |
|
USEMODULE += uart_stdio |
|
endif |
|
endif |
|
|
|
ifneq (,$(filter posix_sockets,$(USEMODULE))) |
|
USEMODULE += posix |
|
USEMODULE += random |
|
endif |
|
|
|
ifneq (,$(filter rtt_stdio,$(USEMODULE))) |
|
USEMODULE += xtimer |
|
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_sixlowpan,$(USEMODULE))) |
|
USEMODULE += lwip_ipv6_autoconfig |
|
endif |
|
|
|
ifneq (,$(filter lwip_ipv6_autoconfig lwip_ipv6_mld,$(USEMODULE))) |
|
USEMODULE += lwip_ipv6 |
|
endif |
|
|
|
ifneq (,$(filter lwip_ipv6,$(USEMODULE))) |
|
USEMODULE += random |
|
endif |
|
|
|
ifneq (,$(filter lwip_udplite,$(USEMODULE))) |
|
USEMODULE += lwip_udp |
|
endif |
|
|
|
ifneq (,$(filter lwip_conn_%,$(USEMODULE))) |
|
USEMODULE += lwip_conn |
|
endif |
|
|
|
ifneq (,$(filter lwip_conn_ip,$(USEMODULE))) |
|
USEMODULE += lwip_raw |
|
endif |
|
|
|
ifneq (,$(filter lwip_conn_udp,$(USEMODULE))) |
|
USEMODULE += lwip_udp |
|
endif |
|
|
|
ifneq (,$(filter lwip_%,$(USEMODULE))) |
|
USEMODULE += lwip |
|
endif |
|
|
|
ifneq (,$(filter lwip,$(USEMODULE))) |
|
USEPKG += lwip |
|
USEMODULE += core_mbox |
|
USEMODULE += lwip_api |
|
USEMODULE += lwip_contrib |
|
USEMODULE += lwip_core |
|
USEMODULE += lwip_netif |
|
ifeq (,$(filter lwip_ipv4 lwip_ipv6,$(USEMODULE))) |
|
USEMODULE += lwip_ipv4 |
|
endif |
|
ifeq (,$(filter lwip_tcp lwip_udp lwip_udplite,$(USEMODULE))) |
|
USEMODULE += lwip_raw |
|
endif |
|
endif |
|
|
|
ifneq (,$(filter lwip_ppp,$(USEMODULE))) |
|
USEMODULE += lwip_polarssl |
|
endif |
|
|
|
ifneq (,$(filter lwip_contrib,$(USEMODULE))) |
|
USEMODULE += sema |
|
endif |
|
|
|
ifneq (,$(filter sema,$(USEMODULE))) |
|
USEMODULE += xtimer |
|
endif |
|
|
|
|
|
ifneq (,$(filter libfixmath-unittests,$(USEMODULE))) |
|
USEPKG += libfixmath |
|
USEMODULE += 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 netstats_%, $(USEMODULE))) |
|
USEMODULE += netstats |
|
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 random,$(USEMODULE))) |
|
# select default prng |
|
ifeq (,$(filter prng_%,$(USEMODULE))) |
|
USEMODULE += prng_tinymt32 |
|
endif |
|
|
|
ifneq (,$(filter prng_tinymt32,$(USEMODULE))) |
|
USEMODULE += tinymt32 |
|
endif |
|
endif |
|
|
|
# include package dependencies |
|
-include $(USEPKG:%=$(RIOTPKG)/%/Makefile.dep) |
|
|
|
# recursively catch transitive dependencies |
|
USEMODULE := $(sort $(USEMODULE)) |
|
USEPKG := $(sort $(USEPKG)) |
|
ifneq ($(OLD_USEMODULE) $(OLD_USEPKG),$(USEMODULE) $(USEPKG)) |
|
include $(RIOTBASE)/Makefile.dep |
|
endif
|
|
|