mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
29d60c8c2f
`sock_util` only uses the `sock_udp_ep_t` type which does not require `sock_udp` to be pulled in.
1137 lines
25 KiB
Makefile
1137 lines
25 KiB
Makefile
# include board specific application dependencies
|
|
-include $(APPDIR)/Makefile.board.dep
|
|
|
|
# include board dependencies
|
|
-include $(BOARDDIR)/Makefile.dep
|
|
|
|
# include cpu dependencies
|
|
-include $(RIOTCPU)/$(CPU)/Makefile.dep
|
|
|
|
# include external modules dependencies
|
|
# processed before RIOT ones to be evaluated before the 'default' rules.
|
|
-include $(EXTERNAL_MODULE_DIRS:%=%/Makefile.dep)
|
|
|
|
# pull dependencies from sys and drivers
|
|
include $(RIOTBASE)/sys/Makefile.dep
|
|
include $(RIOTBASE)/drivers/Makefile.dep
|
|
|
|
# pull Makefile.dep of each driver modules if they exist
|
|
-include $(sort $(USEMODULE:%=$(RIOTBASE)/drivers/%/Makefile.dep))
|
|
|
|
# pull dependencies from packages
|
|
-include $(USEPKG:%=$(RIOTPKG)/%/Makefile.dep)
|
|
|
|
ifneq (,$(filter ssp,$(USEMODULE)))
|
|
FEATURES_REQUIRED += ssp
|
|
endif
|
|
|
|
ifneq (,$(filter mpu_stack_guard,$(USEMODULE)))
|
|
FEATURES_REQUIRED += cortexm_mpu
|
|
endif
|
|
|
|
ifneq (,$(filter mpu_noexec_ram,$(USEMODULE)))
|
|
FEATURES_REQUIRED += cortexm_mpu
|
|
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 base64url,$(USEMODULE)))
|
|
USEMODULE += base64
|
|
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
|
|
|
|
# Don't register netdevs if there is only a single one of them
|
|
ifeq (,$(filter gnrc_netif_single,$(USEMODULE)))
|
|
USEMODULE += netdev_register
|
|
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_neterr
|
|
USEMODULE += gnrc_nettype_lorawan
|
|
endif
|
|
|
|
ifneq (,$(filter sntp,$(USEMODULE)))
|
|
USEMODULE += sock_udp
|
|
USEMODULE += xtimer
|
|
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 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
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_sock_async,$(USEMODULE)))
|
|
USEMODULE += sock_async
|
|
USEMODULE += gnrc_netapi_callbacks
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_sock_ip,$(USEMODULE)))
|
|
USEMODULE += sock_ip
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_sock_udp,$(USEMODULE)))
|
|
USEMODULE += gnrc_udp
|
|
USEMODULE += random # to generate random ports
|
|
USEMODULE += sock_udp
|
|
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 gnrc_netif,$(USEMODULE)))
|
|
USEMODULE += netif
|
|
USEMODULE += l2util
|
|
USEMODULE += fmt
|
|
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_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_ipv6_nib_6ln
|
|
USEMODULE += gnrc_sixlowpan
|
|
USEMODULE += gnrc_sixlowpan_frag
|
|
USEMODULE += gnrc_sixlowpan_iphc
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_sixlowpan_router_default,$(USEMODULE)))
|
|
USEMODULE += gnrc_ipv6_router_default
|
|
USEMODULE += gnrc_ipv6_nib_6lr
|
|
USEMODULE += gnrc_sixlowpan_router
|
|
USEMODULE += gnrc_sixlowpan_frag
|
|
USEMODULE += gnrc_sixlowpan_iphc
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_sixlowpan_border_router_default,$(USEMODULE)))
|
|
USEMODULE += gnrc_ipv6_nib_6lbr
|
|
USEMODULE += gnrc_ipv6_router_default
|
|
USEMODULE += gnrc_sixlowpan_router
|
|
USEMODULE += gnrc_sixlowpan_frag
|
|
USEMODULE += gnrc_sixlowpan_iphc
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_sixlowpan_router,$(USEMODULE)))
|
|
USEMODULE += gnrc_ipv6_router
|
|
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_rb,$(USEMODULE)))
|
|
USEMODULE += xtimer
|
|
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_netif
|
|
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
|
|
USEMODULE += gnrc_nettype_icmpv6
|
|
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_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 += 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 += xtimer
|
|
USEMODULE += core_mbox
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_pktdump,$(USEMODULE)))
|
|
DEFAULT_MODULE += auto_init_gnrc_pktdump
|
|
USEMODULE += gnrc_pktbuf
|
|
USEMODULE += od
|
|
endif
|
|
|
|
ifneq (,$(filter od,$(USEMODULE)))
|
|
USEMODULE += fmt
|
|
endif
|
|
|
|
ifneq (,$(filter od_string,$(USEMODULE)))
|
|
USEMODULE += od
|
|
endif
|
|
|
|
ifneq (,$(filter newlib_gnu_source,$(USEMODULE)))
|
|
USEMODULE += newlib
|
|
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
|
|
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
|
|
endif
|
|
|
|
ifneq (,$(filter posix_semaphore,$(USEMODULE)))
|
|
USEMODULE += sema
|
|
USEMODULE += xtimer
|
|
USEMODULE += posix_headers
|
|
endif
|
|
|
|
ifneq (,$(filter posix_time,$(USEMODULE)))
|
|
USEMODULE += xtimer
|
|
USEMODULE += posix_headers
|
|
endif
|
|
|
|
ifneq (,$(filter posix_inet,$(USEMODULE)))
|
|
USEMODULE += posix_headers
|
|
endif
|
|
|
|
ifneq (,$(filter lwip_sixlowpan,$(USEMODULE)))
|
|
USEMODULE += lwip_ipv6_autoconfig
|
|
USEMODULE += l2util
|
|
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_sock_%,$(USEMODULE)))
|
|
USEMODULE += lwip_sock
|
|
endif
|
|
|
|
ifneq (,$(filter lwip_sock_ip,$(USEMODULE)))
|
|
USEMODULE += lwip_raw
|
|
USEMODULE += sock_ip
|
|
endif
|
|
|
|
ifneq (,$(filter lwip_sock_tcp,$(USEMODULE)))
|
|
USEMODULE += lwip_tcp
|
|
USEMODULE += sock_tcp
|
|
endif
|
|
|
|
ifneq (,$(filter lwip_sock_udp,$(USEMODULE)))
|
|
USEMODULE += lwip_udp
|
|
USEMODULE += sock_udp
|
|
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
|
|
ifneq (,$(filter netdev_eth,$(USEMODULE)))
|
|
USEMODULE += lwip_ethernet
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter lwip_ppp,$(USEMODULE)))
|
|
USEMODULE += lwip_polarssl
|
|
endif
|
|
|
|
ifneq (,$(filter lwip_contrib,$(USEMODULE)))
|
|
USEMODULE += sema
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter lwip_dhcp_auto,$(USEMODULE)))
|
|
USEMODULE += lwip_dhcp
|
|
endif
|
|
|
|
ifneq (,$(filter sema,$(USEMODULE)))
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
|
|
ifneq (,$(filter libfixmath-unittests,$(USEMODULE)))
|
|
USEPKG += libfixmath
|
|
USEMODULE += libfixmath
|
|
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 netstats_%, $(USEMODULE)))
|
|
USEMODULE += netstats
|
|
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 arduino,$(USEMODULE)))
|
|
FEATURES_REQUIRED += arduino
|
|
FEATURES_OPTIONAL += arduino_pwm
|
|
FEATURES_OPTIONAL += periph_adc
|
|
FEATURES_REQUIRED += periph_gpio
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter arduino_pwm,$(FEATURES_USED)))
|
|
FEATURES_REQUIRED += periph_pwm
|
|
endif
|
|
|
|
ifneq (,$(filter saul,$(USEMODULE)))
|
|
USEMODULE += phydat
|
|
endif
|
|
|
|
ifneq (,$(filter saul_reg,$(USEMODULE)))
|
|
USEMODULE += saul
|
|
endif
|
|
|
|
ifneq (,$(filter saul_default,$(USEMODULE)))
|
|
DEFAULT_MODULE += auto_init_saul
|
|
USEMODULE += saul
|
|
USEMODULE += saul_reg
|
|
endif
|
|
|
|
ifneq (,$(filter saul_adc,$(USEMODULE)))
|
|
FEATURES_REQUIRED += periph_adc
|
|
endif
|
|
|
|
ifneq (,$(filter saul_gpio,$(USEMODULE)))
|
|
FEATURES_REQUIRED += periph_gpio
|
|
endif
|
|
|
|
ifneq (,$(filter saul,$(USEMODULE)))
|
|
USEMODULE += phydat
|
|
endif
|
|
|
|
ifneq (,$(filter saul_nrf_temperature,$(USEMODULE)))
|
|
FEATURES_REQUIRED += periph_temperature
|
|
endif
|
|
|
|
ifneq (,$(filter phydat,$(USEMODULE)))
|
|
USEMODULE += fmt
|
|
endif
|
|
|
|
ifneq (,$(filter evtimer,$(USEMODULE)))
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter evtimer_mbox,$(USEMODULE)))
|
|
USEMODULE += evtimer
|
|
USEMODULE += core_mbox
|
|
endif
|
|
|
|
ifneq (,$(filter can_linux,$(USEMODULE)))
|
|
LINKFLAGS += -lsocketcan
|
|
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 puf_sram,$(USEMODULE)))
|
|
USEMODULE += hashes
|
|
USEMODULE += random
|
|
FEATURES_REQUIRED += puf_sram
|
|
endif
|
|
|
|
ifneq (,$(filter random,$(USEMODULE)))
|
|
DEFAULT_MODULE += auto_init_random
|
|
USEMODULE += prng
|
|
# select default prng
|
|
ifeq (,$(filter prng_%,$(USEMODULE)))
|
|
USEMODULE += prng_tinymt32
|
|
endif
|
|
|
|
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 asymcute,$(USEMODULE)))
|
|
USEMODULE += sock_udp
|
|
USEMODULE += sock_util
|
|
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
|
|
|
|
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 spiffs,$(USEMODULE)))
|
|
USEPKG += spiffs
|
|
USEMODULE += vfs
|
|
USEMODULE += spiffs_fs
|
|
USEMODULE += mtd
|
|
endif
|
|
|
|
ifneq (,$(filter littlefs,$(USEMODULE)))
|
|
USEPKG += littlefs
|
|
USEMODULE += vfs
|
|
USEMODULE += littlefs_fs
|
|
USEMODULE += mtd
|
|
endif
|
|
|
|
ifneq (,$(filter littlefs2,$(USEMODULE)))
|
|
USEPKG += littlefs2
|
|
USEMODULE += vfs
|
|
USEMODULE += littlefs2_fs
|
|
USEMODULE += mtd
|
|
endif
|
|
|
|
ifneq (,$(filter l2filter_%,$(USEMODULE)))
|
|
USEMODULE += l2filter
|
|
endif
|
|
|
|
ifneq (,$(filter gcoap,$(USEMODULE)))
|
|
USEMODULE += nanocoap
|
|
USEMODULE += sock_async
|
|
USEMODULE += sock_async_event
|
|
USEMODULE += sock_udp
|
|
USEMODULE += sock_util
|
|
USEMODULE += event_callback
|
|
USEMODULE += event_timeout
|
|
endif
|
|
|
|
ifneq (,$(filter luid,$(USEMODULE)))
|
|
FEATURES_OPTIONAL += periph_cpuid
|
|
endif
|
|
|
|
ifneq (,$(filter nanocoap_%,$(USEMODULE)))
|
|
USEMODULE += nanocoap
|
|
endif
|
|
|
|
ifneq (,$(filter fatfs_vfs,$(USEMODULE)))
|
|
USEPKG += fatfs
|
|
USEMODULE += vfs
|
|
endif
|
|
|
|
ifneq (,$(filter benchmark,$(USEMODULE)))
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter skald_%,$(USEMODULE)))
|
|
USEMODULE += skald
|
|
endif
|
|
|
|
ifneq (,$(filter skald,$(USEMODULE)))
|
|
FEATURES_REQUIRED += radio_nrfble
|
|
USEMODULE += nrfble
|
|
USEMODULE += xtimer
|
|
USEMODULE += random
|
|
endif
|
|
|
|
ifneq (,$(filter bluetil_addr,$(USEMODULE)))
|
|
USEMODULE += fmt
|
|
endif
|
|
|
|
ifneq (,$(filter nimble_%,$(USEMODULE)))
|
|
USEPKG += nimble
|
|
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 tlsf-malloc,$(USEMODULE)))
|
|
USEPKG += tlsf
|
|
endif
|
|
|
|
ifneq (,$(filter usbus,$(USEMODULE)))
|
|
DEFAULT_MODULE += auto_init_usbus
|
|
FEATURES_REQUIRED += periph_usbdev
|
|
USEMODULE += core_thread_flags
|
|
USEMODULE += event
|
|
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
|
|
|
|
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 irq_handler,$(USEMODULE)))
|
|
USEMODULE += event
|
|
endif
|
|
|
|
ifneq (,$(filter tinydtls_sock_dtls, $(USEMODULE)))
|
|
USEPKG += tinydtls
|
|
USEMODULE += sock_dtls
|
|
endif
|
|
|
|
ifneq (,$(filter sock_dtls, $(USEMODULE)))
|
|
USEMODULE += credman
|
|
USEMODULE += sock_udp
|
|
endif
|
|
|
|
ifneq (,$(filter suit,$(USEMODULE)))
|
|
USEPKG += nanocbor
|
|
USEPKG += libcose
|
|
USEMODULE += libcose_crypt_c25519
|
|
USEMODULE += uuid
|
|
|
|
# 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_%,$(USEMODULE)))
|
|
USEMODULE += suit
|
|
endif
|
|
|
|
# Enable periph_uart when periph_uart_nonblocking is enabled
|
|
ifneq (,$(filter periph_uart_nonblocking,$(USEMODULE)))
|
|
FEATURES_REQUIRED += periph_uart
|
|
endif
|
|
|
|
# include ztimer dependencies
|
|
ifneq (,$(filter ztimer% %ztimer,$(USEMODULE)))
|
|
include $(RIOTBASE)/sys/ztimer/Makefile.dep
|
|
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
|
|
|
|
# Enable periph_gpio when periph_gpio_irq is enabled
|
|
ifneq (,$(filter periph_gpio_irq,$(USEMODULE)))
|
|
FEATURES_REQUIRED += periph_gpio
|
|
endif
|
|
|
|
ifneq (,$(filter periph_timer_periodic,$(USEMODULE)))
|
|
FEATURES_REQUIRED += periph_timer
|
|
endif
|
|
|
|
ifneq (,$(filter devfs_hwrng,$(USEMODULE)))
|
|
FEATURES_REQUIRED += periph_hwrng
|
|
endif
|
|
|
|
ifneq (,$(filter devfs_random,$(USEMODULE)))
|
|
USEMODULE += random
|
|
endif
|
|
|
|
# always select gpio (until explicit dependencies are sorted out)
|
|
FEATURES_OPTIONAL += periph_gpio
|
|
|
|
# always select power management if available
|
|
FEATURES_OPTIONAL += periph_pm
|
|
|
|
# always select provided architecture features
|
|
FEATURES_REQUIRED += $(filter arch_%,$(FEATURES_PROVIDED))
|
|
|
|
# always select CPU core features
|
|
FEATURES_REQUIRED += $(filter cpu_core_%,$(FEATURES_PROVIDED))
|
|
|
|
# don't use idle thread if architecture has needed support
|
|
FEATURES_OPTIONAL += no_idle_thread
|
|
|
|
ifneq (,$(filter libstdcpp,$(FEATURES_USED)))
|
|
# Also use C++ if libstdc++ is used
|
|
FEATURES_REQUIRED += cpp
|
|
endif
|
|
|
|
ifneq (,$(filter ecc_%,$(USEMODULE)))
|
|
USEMODULE += ecc
|
|
endif
|
|
|
|
ifneq (,$(filter test_utils_interactive_sync,$(USEMODULE)))
|
|
ifneq (,$(filter shell,$(USEMODULE)))
|
|
DEFAULT_MODULE += test_utils_interactive_sync_shell
|
|
endif
|
|
endif
|