1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/sys/Makefile.dep

1122 lines
25 KiB
Makefile
Raw Normal View History

ifneq (,$(filter arduino,$(USEMODULE)))
FEATURES_OPTIONAL += periph_i2c
FEATURES_OPTIONAL += periph_spi
FEATURES_REQUIRED += periph_uart
FEATURES_REQUIRED += cpp
SKETCH_MODULE ?= arduino_sketches
USEMODULE += $(SKETCH_MODULE)
endif
ifneq (,$(filter arduino,$(USEMODULE)))
FEATURES_REQUIRED += arduino
FEATURES_OPTIONAL += arduino_pwm
FEATURES_OPTIONAL += periph_adc
FEATURES_REQUIRED += periph_gpio
USEMODULE += fmt
USEMODULE += xtimer
endif
ifneq (,$(filter arduino_pwm,$(FEATURES_USED)))
FEATURES_REQUIRED += periph_pwm
endif
2018-08-28 00:55:41 +02:00
ifneq (,$(filter eepreg,$(USEMODULE)))
FEATURES_REQUIRED += periph_eeprom
endif
ifneq (,$(filter fmt_table,$(USEMODULE)))
USEMODULE += fmt
endif
ifneq (,$(filter i2c_scan,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
2018-03-12 21:48:24 +01:00
ifneq (,$(filter prng_fortuna,$(USEMODULE)))
USEMODULE += crypto_aes
endif
ifneq (,$(filter crypto_aes_%,$(USEMODULE)))
USEMODULE += crypto_aes
endif
ifneq (,$(filter crypto_%,$(USEMODULE)))
USEMODULE += crypto
2018-03-12 21:48:24 +01:00
endif
2020-09-08 01:16:45 +02:00
ifneq (,$(filter sys_bus_%,$(USEMODULE)))
USEMODULE += sys_bus
USEMODULE += core_msg_bus
endif
2020-10-02 14:47:38 +02:00
ifneq (,$(filter ieee802154_security,$(USEMODULE)))
USEMODULE += crypto
USEMODULE += crypto_aes
USEMODULE += cipher_modes
endif
2020-03-19 17:17:17 +01:00
ifneq (,$(filter rtt_cmd,$(USEMODULE)))
FEATURES_REQUIRED += periph_rtt
endif
2020-06-04 14:26:48 +02:00
ifneq (,$(filter trace,$(USEMODULE)))
USEMODULE += xtimer
endif
ifneq (,$(filter shell_commands,$(USEMODULE)))
ifneq (,$(filter dfplayer,$(USEMODULE)))
USEMODULE += auto_init_multimedia
USEMODULE += fmt
endif
endif
ifneq (,$(filter ssp,$(USEMODULE)))
FEATURES_REQUIRED += ssp
endif
ifneq (,$(filter base64url,$(USEMODULE)))
USEMODULE += base64
endif
ifneq (,$(filter auto_init_gnrc_netif,$(USEMODULE)))
USEMODULE += gnrc_netif_init_devs
endif
ifneq (,$(filter auto_init_saul,$(USEMODULE)))
USEMODULE += saul_init_devs
endif
ifneq (,$(filter csma_sender,$(USEMODULE)))
USEMODULE += random
USEMODULE += xtimer
endif
ifneq (,$(filter dhcpv6_%,$(USEMODULE)))
USEMODULE += dhcpv6
endif
ifneq (,$(filter dhcpv6_client,$(USEMODULE)))
USEMODULE += event
USEMODULE += random
USEMODULE += xtimer
endif
ifneq (,$(filter gnrc_mac,$(USEMODULE)))
USEMODULE += gnrc_priority_pktqueue
USEMODULE += csma_sender
USEMODULE += evtimer
ifneq (,$(filter gnrc_netif,$(USEMODULE)))
USEMODULE += gnrc_netif_mac
endif
endif
ifneq (,$(filter gnrc_gomach,$(USEMODULE)))
USEMODULE += gnrc_netif
USEMODULE += gnrc_nettype_gomach
USEMODULE += random
USEMODULE += xtimer
USEMODULE += gnrc_mac
FEATURES_REQUIRED += periph_rtt
endif
ifneq (,$(filter gnrc_lorawan,$(USEMODULE)))
USEMODULE += xtimer
USEMODULE += random
USEMODULE += hashes
USEMODULE += crypto_aes
USEMODULE += netdev_layer
USEMODULE += gnrc_nettype_lorawan
endif
ifneq (,$(filter sntp,$(USEMODULE)))
USEMODULE += sock_udp
USEMODULE += xtimer
endif
ifneq (,$(filter ieee802154_radio_hal,$(USEMODULE)))
USEMODULE += ieee802154
endif
ifneq (,$(filter gnrc_netdev_default,$(USEMODULE)))
USEMODULE += netdev_default
USEMODULE += gnrc_netif
endif
ifneq (,$(filter netdev_ieee802154,$(USEMODULE)))
USEMODULE += ieee802154
USEMODULE += random
endif
ifneq (,$(filter netdev_ieee802154_submac,$(USEMODULE)))
USEMODULE += ieee802154_radio_hal
USEMODULE += ieee802154_submac
endif
ifneq (,$(filter gnrc_dhcpv6_%, $(USEMODULE)))
USEMODULE += gnrc_dhcpv6
endif
ifneq (,$(filter gnrc_dhcpv6_client,$(USEMODULE)))
USEMODULE += dhcpv6_client
USEMODULE += gnrc_ipv6_nib
USEMODULE += gnrc_netif
USEMODULE += gnrc_sock_udp
endif
ifneq (,$(filter gnrc_dhcpv6_client_6lbr,$(USEMODULE)))
USEMODULE += gnrc_dhcpv6_client
endif
ifneq (,$(filter gnrc_uhcpc,$(USEMODULE)))
DEFAULT_MODULE += auto_init_gnrc_uhcpc
USEMODULE += uhcpc
USEMODULE += gnrc_sock_udp
USEMODULE += fmt
endif
ifneq (,$(filter uhcpc,$(USEMODULE)))
USEMODULE += posix_inet
endif
ifneq (,$(filter gnrc_%,$(filter-out gnrc_netapi gnrc_netreg gnrc_netif% gnrc_pkt%,$(USEMODULE))))
USEMODULE += gnrc
endif
ifneq (,$(filter gnrc_sock_%,$(USEMODULE)))
USEMODULE += gnrc_sock
ifneq (,$(filter sock_aux_timestamp,$(USEMODULE)))
USEMODULE += gnrc_netif_timestamp
endif
endif
ifneq (,$(filter gnrc_sock_async,$(USEMODULE)))
USEMODULE += gnrc_netapi_callbacks
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
USEMODULE += sock
endif
ifneq (,$(filter gnrc_netapi_mbox,$(USEMODULE)))
USEMODULE += core_mbox
endif
ifneq (,$(filter netdev_tap,$(USEMODULE)))
USEMODULE += netif
USEMODULE += netdev_eth
USEMODULE += iolist
endif
ifneq (,$(filter gnrc_rpl_p2p,$(USEMODULE)))
USEMODULE += gnrc_rpl
endif
ifneq (,$(filter gnrc_rpl,$(USEMODULE)))
USEMODULE += gnrc_icmpv6
USEMODULE += gnrc_ipv6_nib
USEMODULE += trickle
USEMODULE += xtimer
USEMODULE += evtimer
endif
ifneq (,$(filter trickle,$(USEMODULE)))
USEMODULE += random
USEMODULE += xtimer
endif
ifneq (,$(filter eui_provider,$(USEMODULE)))
USEMODULE += luid
endif
ifneq (,$(filter gnrc_netif,$(USEMODULE)))
USEMODULE += netif
USEMODULE += l2util
USEMODULE += fmt
ifneq (,$(filter netdev_ieee802154_submac,$(USEMODULE)))
USEMODULE += gnrc_netif_pktq
endif
ifneq (,$(filter netdev_ieee802154,$(USEMODULE)))
USEMODULE += gnrc_netif_ieee802154
endif
ifneq (,$(filter netdev_eth,$(USEMODULE)))
USEMODULE += gnrc_netif_ethernet
endif
ifneq (,$(filter gnrc_lorawan,$(USEMODULE)))
USEMODULE += gnrc_netif_lorawan
endif
endif
ifneq (,$(filter gnrc_netif_bus,$(USEMODULE)))
USEMODULE += core_msg_bus
endif
ifneq (,$(filter gnrc_netif_events,$(USEMODULE)))
USEMODULE += core_thread_flags
USEMODULE += event
endif
ifneq (,$(filter ieee802154 nrfmin esp_now cc110x gnrc_sixloenc,$(USEMODULE)))
ifneq (,$(filter gnrc_ipv6, $(USEMODULE)))
USEMODULE += gnrc_sixlowpan
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_nib_6ln
USEMODULE += gnrc_sixlowpan
ifeq (,$(filter gnrc_sixlowpan_frag_sfr,$(USEMODULE)))
USEMODULE += gnrc_sixlowpan_frag
endif
USEMODULE += gnrc_sixlowpan_iphc
endif
ifneq (,$(filter gnrc_sixlowpan_router_default,$(USEMODULE)))
USEMODULE += gnrc_ipv6_nib_6lr
ifeq (,$(filter gnrc_sixlowpan_frag_sfr,$(USEMODULE)))
USEMODULE += gnrc_sixlowpan_frag
endif
USEMODULE += gnrc_sixlowpan_iphc
endif
ifneq (,$(filter gnrc_sixlowpan_border_router_default,$(USEMODULE)))
USEMODULE += gnrc_ipv6_nib_6lbr
USEMODULE += gnrc_ipv6_router_default
ifeq (,$(filter gnrc_sixlowpan_frag_sfr,$(USEMODULE)))
USEMODULE += gnrc_sixlowpan_frag
endif
USEMODULE += gnrc_sixlowpan_iphc
endif
ifneq (,$(filter gnrc_sixlowpan_frag,$(USEMODULE)))
USEMODULE += gnrc_sixlowpan
USEMODULE += gnrc_sixlowpan_frag_fb
USEMODULE += gnrc_sixlowpan_frag_rb
endif
ifneq (,$(filter gnrc_sixlowpan_frag_fb,$(USEMODULE)))
USEMODULE += core_msg
endif
ifneq (,$(filter gnrc_sixlowpan_frag_minfwd,$(USEMODULE)))
USEMODULE += gnrc_netif_pktq
USEMODULE += gnrc_sixlowpan_frag
USEMODULE += gnrc_sixlowpan_frag_hint
USEMODULE += gnrc_sixlowpan_frag_vrb
endif
ifneq (,$(filter gnrc_sixlowpan_frag_rb,$(USEMODULE)))
USEMODULE += xtimer
endif
ifneq (,$(filter gnrc_sixlowpan_frag_sfr,$(USEMODULE)))
USEMODULE += gnrc_sixlowpan
USEMODULE += gnrc_sixlowpan_frag_fb
USEMODULE += gnrc_sixlowpan_frag_vrb
USEMODULE += gnrc_sixlowpan_frag_rb
USEMODULE += evtimer
USEMODULE += xtimer
ifneq (,$(filter gnrc_tx_sync,$(USEMODULE)))
# TODO: Implement gnrc_tx_sync for gnrc_sixlowpand_frag_sfr
$(error module gnrc_tx_sync conflicts with gnrc_sixlowpand_frag_sfr)
endif
endif
ifneq (,$(filter gnrc_sixlowpan_frag_sfr_stats,$(USEMODULE)))
USEMODULE += gnrc_sixlowpan_frag_sfr
endif
ifneq (,$(filter gnrc_sixlowpan_frag_vrb,$(USEMODULE)))
USEMODULE += xtimer
USEMODULE += gnrc_sixlowpan_frag_fb
endif
ifneq (,$(filter gnrc_sixlowpan_iphc,$(USEMODULE)))
USEMODULE += gnrc_ipv6
USEMODULE += gnrc_sixlowpan
USEMODULE += gnrc_sixlowpan_ctx
USEMODULE += gnrc_sixlowpan_iphc_nhc
endif
ifneq (,$(filter gnrc_sixlowpan,$(USEMODULE)))
DEFAULT_MODULE += auto_init_gnrc_sixlowpan
USEMODULE += gnrc_nettype_sixlowpan
USEMODULE += sixlowpan
ifneq (,$(filter gnrc_netif,$(USEMODULE)))
USEMODULE += gnrc_netif_6lo
endif
endif
ifneq (,$(filter gnrc_sixlowpan_ctx,$(USEMODULE)))
USEMODULE += ipv6_addr
USEMODULE += xtimer
endif
ifneq (,$(filter gnrc_ipv6_default,$(USEMODULE)))
USEMODULE += gnrc_ipv6
USEMODULE += gnrc_icmpv6
endif
ifneq (,$(filter gnrc_ipv6_router_default,$(USEMODULE)))
USEMODULE += gnrc_ipv6_router
USEMODULE += gnrc_icmpv6
endif
ifneq (,$(filter gnrc_ndp,$(USEMODULE)))
USEMODULE += gnrc_icmpv6
USEMODULE += gnrc_ipv6_hdr
USEMODULE += gnrc_netif
endif
ifneq (,$(filter gnrc_icmpv6_echo,$(USEMODULE)))
USEMODULE += gnrc_icmpv6
USEMODULE += gnrc_ipv6_hdr
USEMODULE += gnrc_netif_hdr
endif
ifneq (,$(filter gnrc_icmpv6_error,$(USEMODULE)))
USEMODULE += gnrc_icmpv6
USEMODULE += gnrc_ipv6_hdr
USEMODULE += gnrc_netif_hdr
endif
ifneq (,$(filter gnrc_icmpv6,$(USEMODULE)))
USEMODULE += inet_csum
USEMODULE += ipv6_hdr
USEMODULE += gnrc_nettype_icmpv6
USEMODULE += gnrc_nettype_ipv6
USEMODULE += icmpv6
endif
ifneq (,$(filter gnrc_rpl_srh,$(USEMODULE)))
USEMODULE += gnrc_ipv6_ext_rh
endif
ifneq (,$(filter gnrc_ipv6_ext_frag,$(USEMODULE)))
USEMODULE += gnrc_ipv6_ext
USEMODULE += xtimer
endif
ifneq (,$(filter gnrc_ipv6_ext_opt,$(USEMODULE)))
USEMODULE += gnrc_ipv6_ext
endif
ifneq (,$(filter gnrc_ipv6_ext_rh,$(USEMODULE)))
USEMODULE += gnrc_ipv6_ext
endif
ifneq (,$(filter gnrc_ipv6_ext,$(USEMODULE)))
USEMODULE += gnrc_nettype_ipv6
USEMODULE += gnrc_nettype_ipv6_ext
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
USEMODULE += gnrc_ipv6_nib_router
endif
ifneq (,$(filter gnrc_ipv6,$(USEMODULE)))
DEFAULT_MODULE += auto_init_gnrc_ipv6
USEMODULE += inet_csum
USEMODULE += ipv6_addr
USEMODULE += gnrc_ipv6_hdr
USEMODULE += gnrc_ipv6_nib
USEMODULE += gnrc_netif
USEMODULE += gnrc_netif_ipv6
USEMODULE += gnrc_nettype_ipv6
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_nib_6lbr,$(USEMODULE)))
USEMODULE += gnrc_ipv6_nib_6lr
endif
ifneq (,$(filter gnrc_ipv6_nib_6lr,$(USEMODULE)))
USEMODULE += gnrc_ipv6_nib_6ln
USEMODULE += gnrc_ipv6_nib_router
endif
ifneq (,$(filter gnrc_ipv6_nib_6ln,$(USEMODULE)))
USEMODULE += gnrc_ipv6_nib
USEMODULE += gnrc_sixlowpan_nd
endif
ifneq (,$(filter gnrc_ipv6_nib_dns,$(USEMODULE)))
USEMODULE += gnrc_ipv6_nib
endif
ifneq (,$(filter gnrc_ipv6_nib_router,$(USEMODULE)))
USEMODULE += gnrc_ipv6_nib
endif
ifneq (,$(filter gnrc_ipv6_nib,$(USEMODULE)))
DEFAULT_MODULE += auto_init_gnrc_ipv6_nib
USEMODULE += evtimer
USEMODULE += gnrc_ndp
USEMODULE += gnrc_netif
USEMODULE += gnrc_netif_ipv6
USEMODULE += ipv6_addr
USEMODULE += random
endif
ifneq (,$(filter gnrc_udp,$(USEMODULE)))
DEFAULT_MODULE += auto_init_gnrc_udp
USEMODULE += gnrc_nettype_udp
USEMODULE += inet_csum
USEMODULE += udp
endif
ifneq (,$(filter gnrc_tcp,$(USEMODULE)))
DEFAULT_MODULE += auto_init_gnrc_tcp
USEMODULE += gnrc_nettype_tcp
USEMODULE += inet_csum
USEMODULE += random
USEMODULE += tcp
USEMODULE += evtimer_mbox
endif
ifneq (,$(filter gnrc_pktdump,$(USEMODULE)))
DEFAULT_MODULE += auto_init_gnrc_pktdump
USEMODULE += gnrc_pktbuf
USEMODULE += od
endif
ifneq (,$(filter ieee802154_submac,$(USEMODULE)))
USEMODULE += xtimer
endif
ifneq (,$(filter l2util,$(USEMODULE)))
USEMODULE += fmt
endif
ifneq (,$(filter od,$(USEMODULE)))
USEMODULE += fmt
endif
ifneq (,$(filter od_string,$(USEMODULE)))
USEMODULE += od
endif
ifneq (,$(filter newlib_gnu_source,$(USEMODULE)))
2021-01-26 14:55:40 +01:00
FEATURES_REQUIRED += newlib
endif
ifneq (,$(filter newlib_nano,$(USEMODULE)))
2021-01-26 14:55:40 +01:00
FEATURES_REQUIRED += 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
endif
ifneq (,$(filter posix_select,$(USEMODULE)))
ifneq (,$(filter posix_sockets,$(USEMODULE)))
USEMODULE += sock_async
endif
USEMODULE += core_thread_flags
USEMODULE += posix_headers
USEMODULE += xtimer
endif
ifneq (,$(filter picolibc,$(USEMODULE)))
# allow custom picolibc syscalls implementations by adding
# picolibc_syscalls_XXX to USEMODULE
ifeq (,$(filter picolibc_syscalls_%,$(USEMODULE)))
USEMODULE += picolibc_syscalls_default
endif
endif
ifneq (,$(filter posix_sockets,$(USEMODULE)))
USEMODULE += bitfield
USEMODULE += random
USEMODULE += vfs
USEMODULE += posix_headers
USEMODULE += xtimer
endif
ifneq (,$(filter shell,$(USEMODULE)))
USEMODULE += stdin
endif
# Include all stdio_% dependencies after all USEMODULE += stdio_%
include $(RIOTBASE)/makefiles/stdio.inc.mk
ifneq (,$(filter isrpipe,$(USEMODULE)))
USEMODULE += tsrb
endif
ifneq (,$(filter isrpipe_read_timeout,$(USEMODULE)))
USEMODULE += isrpipe
USEMODULE += xtimer
endif
ifneq (,$(filter shell_commands,$(USEMODULE)))
ifneq (,$(filter fib,$(USEMODULE)))
USEMODULE += posix_inet
endif
ifneq (,$(filter nimble_netif,$(USEMODULE)))
USEMODULE += nimble_scanner
USEMODULE += nimble_scanlist
USEMODULE += fmt
endif
ifneq (,$(filter openwsn_%,$(USEMODULE)))
USEMODULE += netif
USEMODULE += ipv6_addr
endif
endif
ifneq (,$(filter posix_semaphore,$(USEMODULE)))
USEMODULE += sema
USEMODULE += xtimer
USEMODULE += posix_headers
endif
ifneq (,$(filter posix_sleep,$(USEMODULE)))
USEMODULE += ztimer_msec
ifneq (,$(filter periph_rtt,$(USEMODULE)))
USEMODULE += ztimer_periph_rtt
endif
USEMODULE += ztimer_usec
USEMODULE += posix_headers
endif
ifneq (,$(filter posix_inet,$(USEMODULE)))
USEMODULE += posix_headers
endif
ifneq (,$(filter sema,$(USEMODULE)))
USEMODULE += xtimer
endif
ifneq (,$(filter sema_inv,$(USEMODULE)))
USEMODULE += atomic_utils
endif
ifneq (,$(filter luid,$(USEMODULE)))
FEATURES_OPTIONAL += periph_cpuid
endif
ifneq (,$(filter fib,$(USEMODULE)))
USEMODULE += universal_address
USEMODULE += xtimer
USEMODULE += posix_headers
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
FEATURES_REQUIRED += libstdcpp
endif
ifneq (,$(filter fuzzing,$(USEMODULE)))
USEMODULE += netdev_test
USEMODULE += gnrc_netif
USEMODULE += gnrc_pktbuf_malloc
endif
ifneq (,$(filter gnrc,$(USEMODULE)))
USEMODULE += gnrc_netapi
USEMODULE += gnrc_netreg
USEMODULE += gnrc_netif
USEMODULE += gnrc_netif_hdr
USEMODULE += gnrc_pktbuf
ifneq (,$(filter sock_async, $(USEMODULE)))
USEMODULE += gnrc_sock_async
endif
ifneq (,$(filter sock_ip, $(USEMODULE)))
USEMODULE += gnrc_sock_ip
endif
ifneq (,$(filter sock_udp, $(USEMODULE)))
USEMODULE += gnrc_sock_udp
endif
endif
ifneq (,$(filter gnrc_pktbuf, $(USEMODULE)))
ifeq (,$(filter gnrc_pktbuf_%, $(USEMODULE)))
USEMODULE += gnrc_pktbuf_static
endif
ifeq (gnrc_pktbuf_cmd,$(filter gnrc_pktbuf_%, $(USEMODULE)))
USEMODULE += gnrc_pktbuf_static
endif
DEFAULT_MODULE += auto_init_gnrc_pktbuf
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_netif_%,$(USEMODULE)))
USEMODULE += gnrc_netif
endif
ifneq (,$(filter gnrc_netif_pktq,$(USEMODULE)))
USEMODULE += xtimer
endif
ifneq (,$(filter netstats_%, $(USEMODULE)))
USEMODULE += netstats
endif
2020-07-03 15:05:52 +02:00
ifneq (,$(filter netstats_neighbor_%, $(USEMODULE)))
USEMODULE += netstats_neighbor
USEMODULE += xtimer
endif
ifneq (,$(filter gnrc_lwmac,$(USEMODULE)))
USEMODULE += gnrc_netif
USEMODULE += gnrc_nettype_lwmac
USEMODULE += gnrc_mac
FEATURES_REQUIRED += periph_rtt
endif
ifneq (,$(filter pthread,$(USEMODULE)))
USEMODULE += xtimer
USEMODULE += timex
endif
ifneq (,$(filter schedstatistics,$(USEMODULE)))
USEMODULE += xtimer
USEMODULE += sched_cb
endif
ifneq (,$(filter saul_reg,$(USEMODULE)))
USEMODULE += saul
endif
ifneq (,$(filter saul_default,$(USEMODULE)))
DEFAULT_MODULE += auto_init_saul
DEFAULT_MODULE += saul_init_devs
USEMODULE += saul
USEMODULE += saul_reg
endif
ifneq (,$(filter phydat,$(USEMODULE)))
USEMODULE += fmt
endif
2021-01-27 14:23:31 +01:00
ifneq (,$(filter pm_layered,$(USEMODULE)))
FEATURES_REQUIRED += periph_pm
endif
ifneq (,$(filter evtimer_mbox,$(USEMODULE)))
USEMODULE += evtimer
USEMODULE += core_mbox
endif
ifneq (,$(filter can,$(USEMODULE)))
USEMODULE += can_raw
ifneq (,$(filter can_mbox,$(USEMODULE)))
USEMODULE += core_mbox
endif
USEMODULE += memarray
endif
ifneq (,$(filter can_isotp,$(USEMODULE)))
USEMODULE += xtimer
USEMODULE += gnrc_pktbuf
endif
ifneq (,$(filter conn_can,$(USEMODULE)))
USEMODULE += can
USEMODULE += can_mbox
USEMODULE += xtimer
endif
ifneq (,$(filter entropy_source_%,$(USEMODULE)))
USEMODULE += entropy_source
ifneq (,$(filter entropy_source_adc_noise,$(USEMODULE)))
FEATURES_REQUIRED += periph_adc
endif
endif
ifneq (,$(filter puf_sram,$(USEMODULE)))
USEMODULE += hashes
USEMODULE += random
FEATURES_REQUIRED += puf_sram
endif
ifneq (,$(filter random,$(USEMODULE)))
DEFAULT_MODULE += auto_init_random
USEMODULE += prng
ifneq (,$(filter prng_fortuna,$(USEMODULE)))
USEMODULE += fortuna
USEMODULE += hashes
USEMODULE += crypto
USEMODULE += xtimer
endif
ifneq (,$(filter prng_tinymt32,$(USEMODULE)))
USEMODULE += tinymt32
endif
ifneq (,$(filter prng_sha%prng,$(USEMODULE)))
USEMODULE += prng_shaxprng
USEMODULE += hashes
endif
ifneq (,$(filter prng_hwrng,$(USEMODULE)))
FEATURES_REQUIRED += periph_hwrng
endif
ifeq (,$(filter puf_sram,$(USEMODULE)))
FEATURES_OPTIONAL += periph_hwrng
endif
USEMODULE += luid
endif
ifneq (,$(filter hashes,$(USEMODULE)))
USEMODULE += crypto
endif
ifneq (,$(filter asymcute,$(USEMODULE)))
USEMODULE += sock_udp
USEMODULE += sock_util
USEMODULE += sock_async_event
USEMODULE += random
USEMODULE += event_timeout
USEMODULE += event_callback
endif
ifneq (,$(filter emcute,$(USEMODULE)))
USEMODULE += core_thread_flags
USEMODULE += sock_udp
USEMODULE += xtimer
endif
ifneq (,$(filter constfs,$(USEMODULE)))
USEMODULE += vfs
endif
ifneq (,$(filter devfs,$(USEMODULE)))
USEMODULE += vfs
endif
ifneq (,$(filter vfs,$(USEMODULE)))
USEMODULE += posix_headers
ifeq (native, $(BOARD))
USEMODULE += native_vfs
endif
endif
ifneq (,$(filter sock_async_event,$(USEMODULE)))
USEMODULE += sock_async
USEMODULE += event
endif
2020-08-21 12:14:23 +02:00
ifneq (,$(filter sock_async,$(USEMODULE)))
ifneq (,$(filter gnrc%,$(USEMODULE)))
USEMODULE += gnrc_sock_async
endif
ifneq (,$(filter openwsn%,$(USEMODULE)))
USEMODULE += openwsn_sock_async
endif
endif
ifneq (,$(filter sock_dns,$(USEMODULE)))
USEMODULE += sock_udp
USEMODULE += sock_util
USEMODULE += posix_headers
endif
ifneq (,$(filter sock_util,$(USEMODULE)))
USEMODULE += posix_inet
USEMODULE += fmt
endif
ifneq (,$(filter event_%,$(USEMODULE)))
USEMODULE += event
endif
ifneq (,$(filter event_thread_%,$(USEMODULE)))
USEMODULE += event_thread
endif
ifneq (,$(filter event_timeout,$(USEMODULE)))
USEMODULE += xtimer
endif
ifneq (,$(filter event,$(USEMODULE)))
USEMODULE += core_thread_flags
endif
ifneq (,$(filter l2filter_%,$(USEMODULE)))
USEMODULE += l2filter
endif
ifneq (,$(filter gcoap,$(USEMODULE)))
USEMODULE += nanocoap
USEMODULE += sock_async_event
USEMODULE += sock_udp
USEMODULE += sock_util
USEMODULE += event_callback
USEMODULE += event_timeout
ifneq (,$(filter gnrc%,$(USEMODULE)))
USEMODULE += gnrc_sock_async
endif
ifneq (,$(filter openwsn%,$(USEMODULE)))
USEMODULE += openwsn_sock_udp
endif
endif
ifneq (,$(filter luid,$(USEMODULE)))
FEATURES_OPTIONAL += periph_cpuid
endif
ifneq (,$(filter nanocoap_sock,$(USEMODULE)))
USEMODULE += sock_udp
endif
ifneq (,$(filter nanocoap_%,$(USEMODULE)))
USEMODULE += nanocoap
endif
ifneq (,$(filter benchmark,$(USEMODULE)))
USEMODULE += xtimer
endif
ifneq (,$(filter skald_%,$(USEMODULE)))
USEMODULE += skald
endif
ifneq (,$(filter skald,$(USEMODULE)))
FEATURES_REQUIRED += radio_nrfble
FEATURES_OPTIONAL += periph_rtt
USEMODULE += nrfble
USEMODULE += random
USEMODULE += ztimer_msec
ifneq (,$(filter periph_rtt,$(USEMODULE)))
USEMODULE += ztimer_periph_rtt
endif
endif
ifneq (,$(filter bluetil_addr,$(USEMODULE)))
USEMODULE += fmt
endif
ifneq (,$(filter cord_common,$(USEMODULE)))
USEMODULE += fmt
USEMODULE += luid
USEMODULE += gcoap
endif
ifneq (,$(filter cord_lc cord_ep,$(USEMODULE)))
USEMODULE += core_thread_flags
USEMODULE += cord_common
ifneq (,$(filter shell_commands,$(USEMODULE)))
USEMODULE += sock_util
endif
endif
ifneq (,$(filter cord_epsim,$(USEMODULE)))
USEMODULE += cord_common
endif
ifneq (,$(filter cord_ep_standalone,$(USEMODULE)))
USEMODULE += cord_ep
USEMODULE += xtimer
endif
ifneq (,$(filter cord_lc,$(USEMODULE)))
USEMODULE += clif
endif
ifneq (,$(filter usbus,$(USEMODULE)))
DEFAULT_MODULE += auto_init_usbus
USEMODULE += core_thread_flags
USEMODULE += event
USEMODULE += luid
USEMODULE += fmt
ifeq (,$(filter usbdev_mock,$(USEMODULE)))
FEATURES_REQUIRED += periph_usbdev
endif
endif
ifneq (,$(filter usbus_cdc_acm,$(USEMODULE)))
USEMODULE += tsrb
USEMODULE += usbus
endif
ifneq (,$(filter usbus_cdc_ecm,$(USEMODULE)))
USEMODULE += iolist
USEMODULE += fmt
USEMODULE += usbus
USEMODULE += netdev_eth
USEMODULE += luid
endif
2020-06-01 18:01:32 +02:00
ifneq (,$(filter usbus_hid,$(USEMODULE)))
USEMODULE += isrpipe_read_timeout
USEMODULE += usbus
endif
ifneq (,$(filter usbus_dfu,$(USEMODULE)))
FEATURES_REQUIRED += riotboot
USEMODULE += usbus
USEMODULE += riotboot_slot
endif
ifneq (,$(filter uuid,$(USEMODULE)))
USEMODULE += hashes
USEMODULE += random
USEMODULE += fmt
endif
ifneq (,$(filter riotboot_flashwrite, $(USEMODULE)))
USEMODULE += riotboot_slot
FEATURES_REQUIRED += periph_flashpage
endif
ifneq (,$(filter riotboot_slot, $(USEMODULE)))
USEMODULE += riotboot_hdr
endif
ifneq (,$(filter riotboot_hdr, $(USEMODULE)))
USEMODULE += checksum
USEMODULE += riotboot
endif
ifneq (,$(filter riotboot_usb_dfu, $(USEMODULE)))
USEMODULE += usbus_dfu
USEMODULE += riotboot_flashwrite
FEATURES_REQUIRED += no_idle_thread
2021-01-27 15:29:19 +01:00
FEATURES_REQUIRED += periph_pm
endif
ifneq (,$(filter irq_handler,$(USEMODULE)))
USEMODULE += event
endif
ifneq (,$(filter sock_dtls, $(USEMODULE)))
USEMODULE += credman
USEMODULE += sock_udp
endif
ifneq (,$(filter suit,$(USEMODULE)))
USEPKG += nanocbor
USEPKG += libcose
USEMODULE += uuid
ifeq (,$(filter libcose_crypt_%,$(USEMODULE)))
USEMODULE += libcose_crypt_c25519
endif
# tests/suit_manifest has some mock implementations,
# only add the non-mock dependencies if not building that test.
ifeq (,$(filter suit_transport_mock,$(USEMODULE)))
# SUIT depends on riotboot support and some extra riotboot modules
FEATURES_REQUIRED += riotboot
USEMODULE += riotboot_slot
USEMODULE += riotboot_flashwrite
USEMODULE += riotboot_flashwrite_verify_sha256
endif
endif
ifneq (,$(filter suit_transport_%, $(USEMODULE)))
USEMODULE += suit_transport
endif
ifneq (,$(filter suit_transport_coap, $(USEMODULE)))
USEMODULE += nanocoap
endif
ifneq (,$(filter suit_storage_%, $(USEMODULE)))
USEMODULE += suit_storage
endif
ifneq (,$(filter suit_%,$(USEMODULE)))
USEMODULE += suit
endif
# include ztimer dependencies
ifneq (,$(filter ztimer% %ztimer,$(USEMODULE)))
include $(RIOTBASE)/sys/ztimer/Makefile.dep
endif
ifneq (,$(filter evtimer,$(USEMODULE)))
2021-01-19 11:05:23 +01:00
ifneq (,$(filter evtimer_on_ztimer,$(USEMODULE)))
USEMODULE += ztimer_msec
else
USEMODULE += xtimer
endif
endif
# handle xtimer's deps. Needs to be done *after* ztimer
ifneq (,$(filter xtimer,$(USEMODULE)))
ifeq (,$(filter ztimer_xtimer_compat,$(USEMODULE)))
# xtimer is used, ztimer xtimer wrapper is not
DEFAULT_MODULE += auto_init_xtimer
USEMODULE += div
ifeq (,$(filter xtimer_on_ztimer,$(USEMODULE)))
# ztimer is not used, so use *periph_timer as low-level timer*.
FEATURES_REQUIRED += periph_timer
else
# will use *ztimer_usec as low-level timer*
endif
else
# ztimer_xtimer_compat is used, all of *xtimer's API will be mapped on ztimer.*
endif
endif
ifneq (,$(filter devfs_hwrng,$(USEMODULE)))
FEATURES_REQUIRED += periph_hwrng
endif
ifneq (,$(filter devfs_random,$(USEMODULE)))
USEMODULE += random
endif
ifneq (,$(filter ecc_%,$(USEMODULE)))
USEMODULE += ecc
endif
include $(RIOTBASE)/sys/test_utils/Makefile.dep