mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
761f5febc3
With out this fix the application or device drivers need to add this module. Otherwise, compilation of the lwIP adaptation layer will fail for Ethernet devices.
819 lines
18 KiB
Makefile
819 lines
18 KiB
Makefile
#
|
|
OLD_USEMODULE := $(sort $(USEMODULE))
|
|
OLD_USEPKG := $(sort $(USEPKG))
|
|
|
|
# include board dependencies
|
|
-include $(RIOTBOARD)/$(BOARD)/Makefile.dep
|
|
|
|
# pull dependencies from sys and drivers
|
|
include $(RIOTBASE)/sys/Makefile.dep
|
|
include $(RIOTBASE)/drivers/Makefile.dep
|
|
|
|
ifneq (,$(filter cbor_ctime,$(USEMODULE)))
|
|
ifneq (,$(filter newlib,$(USEMODULE)))
|
|
USEMODULE += newlib_gnu_source
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter ndn-riot,$(USEPKG)))
|
|
USEMODULE += gnrc
|
|
USEMODULE += xtimer
|
|
USEMODULE += random
|
|
USEMODULE += hashes
|
|
USEPKG += micro-ecc
|
|
endif
|
|
|
|
ifneq (,$(filter csma_sender,$(USEMODULE)))
|
|
USEMODULE += random
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_mac,$(USEMODULE)))
|
|
USEMODULE += gnrc_priority_pktqueue
|
|
USEMODULE += csma_sender
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_gomach,$(USEMODULE)))
|
|
USEMODULE += gnrc_netif
|
|
USEMODULE += random
|
|
USEMODULE += xtimer
|
|
USEMODULE += gnrc_mac
|
|
FEATURES_REQUIRED += periph_rtt
|
|
endif
|
|
|
|
ifneq (,$(filter nhdp,$(USEMODULE)))
|
|
USEMODULE += sock_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 += netdev_default
|
|
USEMODULE += gnrc_netif
|
|
endif
|
|
|
|
ifneq (,$(filter netdev_ieee802154,$(USEMODULE)))
|
|
USEMODULE += ieee802154
|
|
USEMODULE += random
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_uhcpc,$(USEMODULE)))
|
|
USEMODULE += uhcpc
|
|
USEMODULE += gnrc_sock_udp
|
|
USEMODULE += fmt
|
|
endif
|
|
|
|
ifneq (,$(filter uhcpc,$(USEMODULE)))
|
|
USEMODULE += posix
|
|
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_nib_6ln
|
|
USEMODULE += gnrc_ipv6_default
|
|
# prevent application from being a router
|
|
# TODO: maybe find a nicer solution in future build system update
|
|
_ROUTER_MODULES = gnrc_ipv6_router% gnrc_rpl netstats_rpl auto_init_gnrc_rpl
|
|
ifneq (,$(filter $(_ROUTER_MODULES),$(USEMODULE)))
|
|
$(warning nordic_softdevice_ble: Disabling router modules:\
|
|
$(filter $(_ROUTER_MODULES),$(USEMODULE)))
|
|
endif
|
|
USEMODULE := $(filter-out $(_ROUTER_MODULES),$(USEMODULE))
|
|
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_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_tftp,$(USEMODULE)))
|
|
USEMODULE += gnrc_udp
|
|
USEMODULE += xtimer
|
|
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
|
|
endif
|
|
|
|
ifneq (,$(filter ieee802154 nrfmin,$(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 += 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 += sixlowpan
|
|
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 += icmpv6
|
|
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
|
|
USEMODULE += gnrc_ipv6_nib_router
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_ipv6,$(USEMODULE)))
|
|
USEMODULE += inet_csum
|
|
USEMODULE += ipv6_addr
|
|
USEMODULE += gnrc_ipv6_hdr
|
|
USEMODULE += gnrc_ipv6_nib
|
|
USEMODULE += gnrc_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_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)))
|
|
USEMODULE += evtimer
|
|
USEMODULE += gnrc_ndp
|
|
USEMODULE += gnrc_netif
|
|
USEMODULE += ipv6_addr
|
|
USEMODULE += random
|
|
ifneq (,$(filter sock_dns,$(USEMODULE)))
|
|
USEMODULE += gnrc_ipv6_nib_dns
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_udp,$(USEMODULE)))
|
|
USEMODULE += inet_csum
|
|
USEMODULE += udp
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_tcp,$(USEMODULE)))
|
|
USEMODULE += inet_csum
|
|
USEMODULE += random
|
|
USEMODULE += tcp
|
|
USEMODULE += xtimer
|
|
USEMODULE += core_mbox
|
|
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 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
|
|
ifeq (,$(filter stdio_rtt,$(USEMODULE)))
|
|
USEMODULE += stdio_uart
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter posix_sockets,$(USEMODULE)))
|
|
USEMODULE += bitfield
|
|
USEMODULE += random
|
|
USEMODULE += vfs
|
|
USEMODULE += posix
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter stdio_rtt,$(USEMODULE)))
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter stdio_uart,$(USEMODULE)))
|
|
USEMODULE += isrpipe
|
|
FEATURES_REQUIRED += periph_uart
|
|
endif
|
|
|
|
ifneq (,$(filter isrpipe,$(USEMODULE)))
|
|
USEMODULE += tsrb
|
|
endif
|
|
|
|
ifneq (,$(filter shell_commands,$(USEMODULE)))
|
|
ifneq (,$(filter fib,$(USEMODULE)))
|
|
USEMODULE += posix
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter posix_semaphore,$(USEMODULE)))
|
|
USEMODULE += sema
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter posix_time,$(USEMODULE)))
|
|
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_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)))
|
|
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
|
|
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 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
|
|
endif
|
|
|
|
ifneq (,$(filter oonf_rfc5444,$(USEMODULE)))
|
|
USEMODULE += oonf_common
|
|
endif
|
|
|
|
ifneq (,$(filter oonf_common,$(USEMODULE)))
|
|
USEPKG += oonf_api
|
|
USEMODULE += posix_sockets
|
|
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
|
|
ifeq (gnrc_pktbuf_cmd,$(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 netstats_%, $(USEMODULE)))
|
|
USEMODULE += netstats
|
|
endif
|
|
|
|
ifneq (,$(filter gnrc_lwmac,$(USEMODULE)))
|
|
USEMODULE += gnrc_netif
|
|
USEMODULE += gnrc_mac
|
|
FEATURES_REQUIRED += periph_rtt
|
|
endif
|
|
|
|
ifneq (,$(filter pthread,$(USEMODULE)))
|
|
USEMODULE += xtimer
|
|
USEMODULE += timex
|
|
endif
|
|
|
|
ifneq (,$(filter schedstatistics,$(USEMODULE)))
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter arduino,$(USEMODULE)))
|
|
FEATURES_REQUIRED += arduino
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter xtimer,$(USEMODULE)))
|
|
FEATURES_REQUIRED += periph_timer
|
|
USEMODULE += div
|
|
endif
|
|
|
|
ifneq (,$(filter saul,$(USEMODULE)))
|
|
USEMODULE += phydat
|
|
endif
|
|
|
|
ifneq (,$(filter saul_reg,$(USEMODULE)))
|
|
USEMODULE += saul
|
|
endif
|
|
|
|
ifneq (,$(filter saul_default,$(USEMODULE)))
|
|
USEMODULE += saul
|
|
USEMODULE += saul_reg
|
|
USEMODULE += auto_init_saul
|
|
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 phydat,$(USEMODULE)))
|
|
USEMODULE += fmt
|
|
endif
|
|
|
|
ifneq (,$(filter evtimer,$(USEMODULE)))
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter can_linux,$(USEMODULE)))
|
|
LINKFLAGS += -lsocketcan
|
|
endif
|
|
|
|
ifneq (,$(filter can,$(USEMODULE)))
|
|
USEMODULE += can_raw
|
|
USEMODULE += auto_init_can
|
|
ifneq (,$(filter can_mbox,$(USEMODULE)))
|
|
USEMODULE += core_mbox
|
|
endif
|
|
USEMODULE += gnrc_pktbuf_static
|
|
endif
|
|
|
|
ifneq (,$(filter can_isotp,$(USEMODULE)))
|
|
USEMODULE += xtimer
|
|
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)))
|
|
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_sha1prng,$(USEMODULE)))
|
|
USEMODULE += hashes
|
|
endif
|
|
|
|
USEMODULE += luid
|
|
endif
|
|
|
|
ifneq (,$(filter openthread_contrib,$(USEMODULE)))
|
|
USEMODULE += openthread_contrib_netdev
|
|
FEATURES_REQUIRED += cpp
|
|
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)))
|
|
ifeq (native, $(BOARD))
|
|
USEMODULE += native_vfs
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter sock_dns,$(USEMODULE)))
|
|
USEMODULE += sock_util
|
|
endif
|
|
|
|
ifneq (,$(filter sock_util,$(USEMODULE)))
|
|
USEMODULE += posix
|
|
USEMODULE += fmt
|
|
USEMODULE += sock_udp
|
|
endif
|
|
|
|
ifneq (,$(filter event_%,$(USEMODULE)))
|
|
USEMODULE += event
|
|
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 l2filter_%,$(USEMODULE)))
|
|
USEMODULE += l2filter
|
|
endif
|
|
|
|
ifneq (,$(filter gcoap,$(USEMODULE)))
|
|
USEMODULE += nanocoap
|
|
USEMODULE += gnrc_sock_udp
|
|
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_ble
|
|
USEMODULE += xtimer
|
|
USEMODULE += random
|
|
endif
|
|
|
|
ifneq (,$(filter rdcli_simple_standalone,$(USEMODULE)))
|
|
USEMODULE += rdcli_simple
|
|
USEMODULE += xtimer
|
|
endif
|
|
|
|
ifneq (,$(filter rdcli_simple,$(USEMODULE)))
|
|
USEMODULE += rdcli_common
|
|
USEMODULE += fmt
|
|
endif
|
|
|
|
ifneq (,$(filter rdcli_common,$(USEMODULE)))
|
|
USEMODULE += fmt
|
|
USEMODULE += gcoap
|
|
USEMODULE += luid
|
|
endif
|
|
|
|
ifneq (,$(filter tlsf-malloc,$(USEMODULE)))
|
|
USEPKG += tlsf
|
|
endif
|
|
|
|
ifneq (,$(filter uuid,$(USEMODULE)))
|
|
USEMODULE += hashes
|
|
USEMODULE += random
|
|
endif
|
|
|
|
# Enable periph_gpio when periph_gpio_irq is enabled
|
|
ifneq (,$(filter periph_gpio_irq,$(USEMODULE)))
|
|
FEATURES_REQUIRED += periph_gpio
|
|
endif
|
|
|
|
# always select gpio (until explicit dependencies are sorted out)
|
|
FEATURES_OPTIONAL += periph_gpio
|
|
|
|
# always select power management if available
|
|
FEATURES_OPTIONAL += periph_pm
|
|
|
|
# include package dependencies
|
|
-include $(USEPKG:%=$(RIOTPKG)/%/Makefile.dep)
|
|
|
|
# remove required features from optional features
|
|
FEATURES_OPTIONAL := $(filter-out $(FEATURES_REQUIRED),$(FEATURES_OPTIONAL))
|
|
|
|
# add all optional but provided features to the list of used features
|
|
FEATURES_USED := $(sort $(FEATURES_REQUIRED) $(filter $(FEATURES_OPTIONAL),$(FEATURES_PROVIDED)))
|
|
|
|
# all periph features correspond to a periph submodule
|
|
USEMODULE += $(filter periph_%,$(FEATURES_USED))
|
|
|
|
# recursively catch transitive dependencies
|
|
USEMODULE := $(sort $(USEMODULE))
|
|
USEPKG := $(sort $(USEPKG))
|
|
ifneq ($(OLD_USEMODULE) $(OLD_USEPKG),$(USEMODULE) $(USEPKG))
|
|
include $(RIOTBASE)/Makefile.dep
|
|
endif
|