2016-09-29 15:15:21 +02:00
|
|
|
#
|
|
|
|
OLD_USEMODULE := $(sort $(USEMODULE))
|
|
|
|
OLD_USEPKG := $(sort $(USEPKG))
|
2015-10-21 15:11:05 +02:00
|
|
|
|
2016-09-29 15:15:21 +02:00
|
|
|
# include board dependencies
|
|
|
|
-include $(RIOTBOARD)/$(BOARD)/Makefile.dep
|
2015-09-10 09:15:27 +02:00
|
|
|
|
2019-06-11 14:16:10 +02:00
|
|
|
# Transitional conditional include until all boards define 'CPU' in
|
|
|
|
# Makefile.features
|
|
|
|
ifneq (,$(CPU))
|
|
|
|
# include cpu dependencies
|
|
|
|
-include $(RIOTCPU)/$(CPU)/Makefile.dep
|
|
|
|
endif
|
|
|
|
|
2018-04-19 16:05:43 +02:00
|
|
|
# include external modules dependencies
|
|
|
|
# processed before RIOT ones to be evaluated before the 'default' rules.
|
|
|
|
-include $(EXTERNAL_MODULE_DIRS:%=%/Makefile.dep)
|
|
|
|
|
2018-03-12 21:48:24 +01:00
|
|
|
# pull dependencies from sys and drivers
|
|
|
|
include $(RIOTBASE)/sys/Makefile.dep
|
2015-10-21 15:11:05 +02:00
|
|
|
include $(RIOTBASE)/drivers/Makefile.dep
|
2016-02-07 19:04:10 +01:00
|
|
|
|
2016-10-06 15:53:38 +02:00
|
|
|
ifneq (,$(filter ndn-riot,$(USEPKG)))
|
|
|
|
USEMODULE += gnrc
|
|
|
|
USEMODULE += xtimer
|
|
|
|
USEMODULE += random
|
|
|
|
USEMODULE += hashes
|
|
|
|
USEPKG += micro-ecc
|
|
|
|
endif
|
|
|
|
|
2016-06-05 13:14:29 +02:00
|
|
|
ifneq (,$(filter csma_sender,$(USEMODULE)))
|
2016-06-05 13:11:32 +02:00
|
|
|
USEMODULE += random
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
2017-06-08 11:49:40 +02:00
|
|
|
|
|
|
|
ifneq (,$(filter gnrc_mac,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_priority_pktqueue
|
|
|
|
USEMODULE += csma_sender
|
2016-10-13 18:44:28 +02:00
|
|
|
USEMODULE += evtimer
|
2017-06-08 11:49:40 +02:00
|
|
|
endif
|
2016-06-05 13:11:32 +02:00
|
|
|
|
2016-04-10 20:17:45 +02:00
|
|
|
ifneq (,$(filter gnrc_gomach,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_netif
|
|
|
|
USEMODULE += random
|
|
|
|
USEMODULE += xtimer
|
|
|
|
USEMODULE += gnrc_mac
|
|
|
|
FEATURES_REQUIRED += periph_rtt
|
|
|
|
endif
|
|
|
|
|
2015-09-17 03:11:53 +02:00
|
|
|
ifneq (,$(filter nhdp,$(USEMODULE)))
|
2017-04-26 14:41:45 +02:00
|
|
|
USEMODULE += sock_udp
|
2016-03-11 15:28:20 +01:00
|
|
|
USEMODULE += xtimer
|
2015-09-17 03:11:53 +02:00
|
|
|
USEMODULE += oonf_rfc5444
|
|
|
|
endif
|
|
|
|
|
2016-10-29 16:59:00 +02:00
|
|
|
ifneq (,$(filter sntp,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_sock_udp
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2016-03-22 16:41:51 +01:00
|
|
|
ifneq (,$(filter gnrc_netdev_default,$(USEMODULE)))
|
|
|
|
USEMODULE += netdev_default
|
2017-11-16 18:06:46 +01:00
|
|
|
USEMODULE += gnrc_netif
|
2016-03-22 16:41:51 +01:00
|
|
|
endif
|
|
|
|
|
2017-02-15 13:07:34 +01:00
|
|
|
ifneq (,$(filter netdev_ieee802154,$(USEMODULE)))
|
2016-01-16 19:42:10 +01:00
|
|
|
USEMODULE += ieee802154
|
2018-07-10 18:31:09 +02:00
|
|
|
USEMODULE += random
|
2016-01-16 19:42:10 +01:00
|
|
|
endif
|
|
|
|
|
2016-03-30 12:28:39 +02:00
|
|
|
ifneq (,$(filter gnrc_uhcpc,$(USEMODULE)))
|
2017-05-16 10:39:41 +02:00
|
|
|
USEMODULE += uhcpc
|
|
|
|
USEMODULE += gnrc_sock_udp
|
|
|
|
USEMODULE += fmt
|
2016-03-30 12:28:39 +02:00
|
|
|
endif
|
|
|
|
|
2017-10-12 08:58:16 +02:00
|
|
|
ifneq (,$(filter uhcpc,$(USEMODULE)))
|
2018-11-09 15:04:45 +01:00
|
|
|
USEMODULE += posix_inet
|
2017-10-12 08:58:16 +02:00
|
|
|
endif
|
|
|
|
|
2016-07-09 11:25:34 +02:00
|
|
|
ifneq (,$(filter nordic_softdevice_ble,$(USEPKG)))
|
2019-07-01 16:44:05 +02:00
|
|
|
FEATURES_REQUIRED += ble_nordic_softdevice
|
2017-05-16 10:39:41 +02:00
|
|
|
USEMODULE += softdevice_handler
|
|
|
|
USEMODULE += ble_common
|
|
|
|
USEMODULE += ble_6lowpan
|
|
|
|
USEMODULE += gnrc_sixlowpan
|
|
|
|
USEMODULE += gnrc_sixlowpan_iphc
|
2018-01-16 17:16:05 +01:00
|
|
|
USEMODULE += gnrc_ipv6_nib_6ln
|
2017-05-16 10:39:41 +02:00
|
|
|
USEMODULE += gnrc_ipv6_default
|
2018-01-16 17:16:05 +01:00
|
|
|
# prevent application from being a router
|
|
|
|
# TODO: maybe find a nicer solution in future build system update
|
2018-01-29 12:03:54 +01:00
|
|
|
_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))
|
2016-07-09 11:25:34 +02:00
|
|
|
endif
|
|
|
|
|
2016-11-23 19:02:02 +01:00
|
|
|
ifneq (,$(filter gnrc_%,$(filter-out gnrc_netapi gnrc_netreg gnrc_netif% gnrc_pkt%,$(USEMODULE))))
|
2015-08-10 02:41:08 +02:00
|
|
|
USEMODULE += gnrc
|
|
|
|
endif
|
|
|
|
|
2016-06-09 11:08:53 +02:00
|
|
|
ifneq (,$(filter gnrc_sock_%,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_sock
|
|
|
|
endif
|
|
|
|
|
2016-10-27 12:04:35 +02:00
|
|
|
ifneq (,$(filter gnrc_sock_ip,$(USEMODULE)))
|
|
|
|
USEMODULE += sock_ip
|
|
|
|
endif
|
|
|
|
|
2016-06-09 11:08:53 +02:00
|
|
|
ifneq (,$(filter gnrc_sock_udp,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_udp
|
|
|
|
USEMODULE += random # to generate random ports
|
2016-10-27 12:04:35 +02:00
|
|
|
USEMODULE += sock_udp
|
2016-06-09 11:08:53 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter gnrc_sock,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_netapi_mbox
|
2016-10-27 12:04:35 +02:00
|
|
|
USEMODULE += sock
|
2016-06-09 11:08:53 +02:00
|
|
|
endif
|
|
|
|
|
2016-06-07 13:31:32 +02:00
|
|
|
ifneq (,$(filter gnrc_netapi_mbox,$(USEMODULE)))
|
|
|
|
USEMODULE += core_mbox
|
|
|
|
endif
|
|
|
|
|
2017-02-15 13:07:34 +01:00
|
|
|
ifneq (,$(filter netdev_tap,$(USEMODULE)))
|
2015-09-11 16:28:31 +02:00
|
|
|
USEMODULE += netif
|
2017-02-15 13:07:34 +01:00
|
|
|
USEMODULE += netdev_eth
|
2018-01-11 23:48:57 +01:00
|
|
|
USEMODULE += iolist
|
2015-05-09 16:39:23 +02:00
|
|
|
endif
|
|
|
|
|
2015-11-04 10:31:56 +01:00
|
|
|
ifneq (,$(filter gnrc_tftp,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_udp
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2015-08-23 14:25:39 +02:00
|
|
|
ifneq (,$(filter gnrc_rpl_p2p,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_rpl
|
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_rpl,$(USEMODULE)))
|
2018-02-21 20:23:36 +01:00
|
|
|
USEMODULE += gnrc_icmpv6
|
2018-03-01 10:06:53 +01:00
|
|
|
USEMODULE += gnrc_ipv6_nib
|
2015-08-18 17:23:40 +02:00
|
|
|
USEMODULE += trickle
|
2015-09-04 13:16:36 +02:00
|
|
|
USEMODULE += xtimer
|
2017-11-30 21:23:26 +01:00
|
|
|
USEMODULE += evtimer
|
2015-08-18 17:23:40 +02:00
|
|
|
endif
|
|
|
|
|
2015-09-04 10:47:40 +02:00
|
|
|
ifneq (,$(filter trickle,$(USEMODULE)))
|
2016-04-15 15:12:33 +02:00
|
|
|
USEMODULE += random
|
2015-09-04 10:47:40 +02:00
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2018-03-27 21:51:58 +02:00
|
|
|
ifneq (,$(filter gnrc_netif,$(USEMODULE)))
|
|
|
|
USEMODULE += netif
|
2018-12-10 17:22:00 +01:00
|
|
|
USEMODULE += l2util
|
2018-07-21 12:13:41 +02:00
|
|
|
USEMODULE += fmt
|
2018-12-05 14:22:14 +01:00
|
|
|
ifneq (,$(filter netdev_ieee802154,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_netif_ieee802154
|
|
|
|
endif
|
|
|
|
ifneq (,$(filter netdev_eth,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_netif_ethernet
|
|
|
|
endif
|
2018-03-27 21:51:58 +02:00
|
|
|
endif
|
|
|
|
|
drivers/cc110x: Rewrite of the cc110x driver
The cc110x driver has been re-written from scratch to overcome the limitations
of the old driver. The main motivation of the rewrite was to achieve better
maintainability by a detailed documentation, reduce the complexity and the
overhead of the SPI communication with the device, and to allow to
simultaneously use transceivers with different configuration regarding the used
base band, the channel bandwidth, the modulation rate, and the channel map.
Features of this driver include:
- Support for the CC1100, CC1101, and the CC1100e sub-gigahertz transceivers.
- Detailed documentation of every aspect of this driver.
- An easy to use configuration API that allows setting the transceiver
configuration (modulation rate, channel bandwidth, base frequency) and the
channel map.
- Fast channel hopping by pre-calibration of the channels during device
configuration (so that no calibration is needed during hopping).
- Simplified SPI communication: Only during start-up the MCU has to wait
for the transceiver to be ready (for the power regulators and the crystal
to stabilize). The old driver did this for every SPI transfer, which
resulted in complex communication code. This driver will wait on start up
for the transceiver to power up and then use RIOT's SPI API like every other
driver. (Not only the data sheet states that this is fine, it also proved to
be reliable in practise.)
- Greatly reduced latency: The RTT on the old driver (@150 kbps data rate) was
about 16ms, the new driver (@250 kbps data rate) has as RTT of ~3ms
(depending on SPI clock and on CPU performance) (measured with ping6).
- Increased reliability: The preamble size and the sync word size have been
doubled compared to the old driver (preamble: 8 bytes instead of 4,
sync word: 4 byte instead of 2). The new values are the once recommended by
the data sheet for reliable communication.
- Basic diagnostic during driver initialization to detect common issues as
SPI communication issues and GDO pin configuration/wiring issues.
- TX power configuration with netdev_driver_t::set() API-integration
- Calls to netdev_driver_t::send() block until the transmission has completed
to ease the use of the API (implemented without busy waiting, so that the
MCU can enter lower power states or other threads can be executed).
2018-11-08 17:37:07 +01:00
|
|
|
ifneq (,$(filter ieee802154 nrfmin esp_now cc110x gnrc_sixloenc,$(USEMODULE)))
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6, $(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_sixlowpan
|
2015-05-09 16:39:23 +02:00
|
|
|
endif
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_router, $(USEMODULE)))
|
2015-08-31 00:23:11 +02:00
|
|
|
USEMODULE += gnrc_sixlowpan_router
|
2015-05-09 16:39:23 +02:00
|
|
|
endif
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_default, $(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_sixlowpan_default
|
2015-05-09 16:39:23 +02:00
|
|
|
endif
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_router_default, $(USEMODULE)))
|
2015-08-31 00:23:11 +02:00
|
|
|
USEMODULE += gnrc_sixlowpan_router_default
|
2015-05-09 16:39:23 +02:00
|
|
|
endif
|
2015-11-15 20:59:19 +01:00
|
|
|
ifneq (,$(filter lwip%, $(USEMODULE)))
|
|
|
|
USEMODULE += lwip_sixlowpan
|
|
|
|
endif
|
2015-05-09 16:39:23 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_sixlowpan_default,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_ipv6_default
|
2017-07-31 17:51:20 +02:00
|
|
|
USEMODULE += gnrc_ipv6_nib_6ln
|
2015-08-17 15:41:29 +02:00
|
|
|
USEMODULE += gnrc_sixlowpan
|
|
|
|
USEMODULE += gnrc_sixlowpan_frag
|
|
|
|
USEMODULE += gnrc_sixlowpan_iphc
|
2015-05-16 19:57:56 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-31 00:23:11 +02:00
|
|
|
ifneq (,$(filter gnrc_sixlowpan_router_default,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_ipv6_router_default
|
2017-07-31 17:51:20 +02:00
|
|
|
USEMODULE += gnrc_ipv6_nib_6lr
|
2015-08-31 00:23:11 +02:00
|
|
|
USEMODULE += gnrc_sixlowpan_router
|
|
|
|
USEMODULE += gnrc_sixlowpan_frag
|
|
|
|
USEMODULE += gnrc_sixlowpan_iphc
|
|
|
|
endif
|
|
|
|
|
2015-08-31 00:23:27 +02:00
|
|
|
ifneq (,$(filter gnrc_sixlowpan_border_router_default,$(USEMODULE)))
|
2017-07-31 17:51:20 +02:00
|
|
|
USEMODULE += gnrc_ipv6_nib_6lbr
|
2015-08-31 00:23:27 +02:00
|
|
|
USEMODULE += gnrc_ipv6_router_default
|
|
|
|
USEMODULE += gnrc_sixlowpan_router
|
|
|
|
USEMODULE += gnrc_sixlowpan_frag
|
|
|
|
USEMODULE += gnrc_sixlowpan_iphc
|
|
|
|
endif
|
|
|
|
|
2015-08-31 00:23:11 +02:00
|
|
|
ifneq (,$(filter gnrc_sixlowpan_router,$(USEMODULE)))
|
2017-07-31 17:51:20 +02:00
|
|
|
USEMODULE += gnrc_ipv6_router
|
2015-08-31 00:23:11 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_sixlowpan_frag,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_sixlowpan
|
2015-10-28 21:12:23 +01:00
|
|
|
USEMODULE += xtimer
|
2015-04-08 11:56:10 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_sixlowpan_iphc,$(USEMODULE)))
|
2019-02-06 17:49:48 +01:00
|
|
|
USEMODULE += gnrc_ipv6
|
2015-08-17 15:41:29 +02:00
|
|
|
USEMODULE += gnrc_sixlowpan
|
|
|
|
USEMODULE += gnrc_sixlowpan_ctx
|
2016-04-27 08:22:41 +02:00
|
|
|
USEMODULE += gnrc_sixlowpan_iphc_nhc
|
2015-04-13 12:48:53 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_sixlowpan,$(USEMODULE)))
|
2015-08-17 15:06:44 +02:00
|
|
|
USEMODULE += sixlowpan
|
2015-03-16 17:52:19 +01:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_sixlowpan_ctx,$(USEMODULE)))
|
2015-08-10 00:26:36 +02:00
|
|
|
USEMODULE += ipv6_addr
|
2015-10-28 21:12:23 +01:00
|
|
|
USEMODULE += xtimer
|
2015-04-10 12:02:55 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_default,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_ipv6
|
|
|
|
USEMODULE += gnrc_icmpv6
|
2015-05-16 19:57:56 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_router_default,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_ipv6_router
|
|
|
|
USEMODULE += gnrc_icmpv6
|
2015-08-31 14:25:17 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ndp,$(USEMODULE)))
|
2017-05-11 16:33:05 +02:00
|
|
|
USEMODULE += gnrc_icmpv6
|
2017-11-16 18:06:46 +01:00
|
|
|
USEMODULE += gnrc_netif
|
2017-05-11 16:33:05 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_icmpv6_echo,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_icmpv6
|
2015-04-01 17:35:23 +02:00
|
|
|
endif
|
|
|
|
|
2015-06-10 04:02:10 +02:00
|
|
|
ifneq (,$(filter gnrc_icmpv6_error,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_icmpv6
|
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_icmpv6,$(USEMODULE)))
|
2015-08-07 14:56:36 +02:00
|
|
|
USEMODULE += inet_csum
|
2015-08-17 15:41:29 +02:00
|
|
|
USEMODULE += gnrc_ipv6
|
2017-01-27 16:13:56 +01:00
|
|
|
USEMODULE += icmpv6
|
2015-03-07 20:37:45 +01:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_rpl_srh,$(USEMODULE)))
|
2018-10-23 19:34:46 +02:00
|
|
|
USEMODULE += gnrc_ipv6_ext_rh
|
2015-03-07 21:46:57 +01:00
|
|
|
endif
|
|
|
|
|
2018-10-23 19:34:46 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_ext_rh,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_ipv6_ext
|
2015-03-07 21:46:57 +01:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_ext,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_ipv6
|
2015-03-07 21:46:57 +01:00
|
|
|
endif
|
|
|
|
|
2015-09-28 14:40:35 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_whitelist,$(USEMODULE)))
|
|
|
|
USEMODULE += ipv6_addr
|
|
|
|
endif
|
|
|
|
|
2016-01-26 11:28:01 +01:00
|
|
|
ifneq (,$(filter gnrc_ipv6_blacklist,$(USEMODULE)))
|
|
|
|
USEMODULE += ipv6_addr
|
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_router,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_ipv6
|
2017-07-27 15:26:49 +02:00
|
|
|
USEMODULE += gnrc_ipv6_nib_router
|
2015-03-03 22:20:21 +01:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6,$(USEMODULE)))
|
2015-08-07 14:56:36 +02:00
|
|
|
USEMODULE += inet_csum
|
2015-08-10 00:26:36 +02:00
|
|
|
USEMODULE += ipv6_addr
|
2015-08-17 15:41:29 +02:00
|
|
|
USEMODULE += gnrc_ipv6_hdr
|
2017-07-31 17:51:20 +02:00
|
|
|
USEMODULE += gnrc_ipv6_nib
|
2017-11-16 18:06:46 +01:00
|
|
|
USEMODULE += gnrc_netif
|
2015-03-03 22:20:21 +01:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_hdr,$(USEMODULE)))
|
2015-08-10 02:04:35 +02:00
|
|
|
USEMODULE += ipv6_hdr
|
2015-08-17 15:41:29 +02:00
|
|
|
USEMODULE += gnrc_pktbuf
|
2015-08-10 02:04:35 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:06:44 +02:00
|
|
|
ifneq (,$(filter sixlowpan,$(USEMODULE)))
|
|
|
|
USEMODULE += ipv6_hdr
|
|
|
|
endif
|
|
|
|
|
2015-08-10 02:04:35 +02:00
|
|
|
ifneq (,$(filter ipv6_hdr,$(USEMODULE)))
|
|
|
|
USEMODULE += inet_csum
|
2015-12-18 20:59:58 +01:00
|
|
|
USEMODULE += ipv6_addr
|
2015-08-10 02:04:35 +02:00
|
|
|
endif
|
|
|
|
|
2017-06-10 22:48:44 +02:00
|
|
|
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
|
2017-05-02 17:05:10 +02:00
|
|
|
USEMODULE += gnrc_sixlowpan_nd
|
2017-06-10 22:48:44 +02:00
|
|
|
endif
|
|
|
|
|
2018-02-26 17:34:43 +01:00
|
|
|
ifneq (,$(filter gnrc_ipv6_nib_dns,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_ipv6_nib
|
|
|
|
endif
|
|
|
|
|
2017-06-10 22:48:44 +02:00
|
|
|
ifneq (,$(filter gnrc_ipv6_nib_router,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_ipv6_nib
|
|
|
|
endif
|
|
|
|
|
2017-01-11 11:54:53 +01:00
|
|
|
ifneq (,$(filter gnrc_ipv6_nib,$(USEMODULE)))
|
2017-04-26 15:45:04 +02:00
|
|
|
USEMODULE += evtimer
|
2017-11-17 10:25:17 +01:00
|
|
|
USEMODULE += gnrc_ndp
|
2017-11-19 14:16:42 +01:00
|
|
|
USEMODULE += gnrc_netif
|
2017-01-11 11:54:53 +01:00
|
|
|
USEMODULE += ipv6_addr
|
|
|
|
USEMODULE += random
|
2018-02-26 17:34:43 +01:00
|
|
|
ifneq (,$(filter sock_dns,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_ipv6_nib_dns
|
|
|
|
endif
|
2017-01-11 11:54:53 +01:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_udp,$(USEMODULE)))
|
2015-08-07 14:56:36 +02:00
|
|
|
USEMODULE += inet_csum
|
2015-08-10 03:16:53 +02:00
|
|
|
USEMODULE += udp
|
2015-04-24 15:06:14 +02:00
|
|
|
endif
|
|
|
|
|
2016-02-04 14:37:35 +01:00
|
|
|
ifneq (,$(filter gnrc_tcp,$(USEMODULE)))
|
|
|
|
USEMODULE += inet_csum
|
|
|
|
USEMODULE += random
|
2017-02-07 13:41:32 +01:00
|
|
|
USEMODULE += tcp
|
2016-02-04 14:37:35 +01:00
|
|
|
USEMODULE += xtimer
|
2017-02-25 18:40:37 +01:00
|
|
|
USEMODULE += core_mbox
|
2016-02-04 14:37:35 +01:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_nettest,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_netapi
|
|
|
|
USEMODULE += gnrc_netreg
|
|
|
|
USEMODULE += gnrc_netif
|
|
|
|
USEMODULE += gnrc_pktbuf
|
2015-11-10 08:28:00 +01:00
|
|
|
USEMODULE += xtimer
|
2015-05-26 23:49:02 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc_pktdump,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_pktbuf
|
2015-03-24 02:53:06 +01:00
|
|
|
USEMODULE += od
|
2015-03-21 11:47:25 +01:00
|
|
|
endif
|
2015-03-22 18:42:34 +01:00
|
|
|
|
2017-01-31 14:53:38 +01:00
|
|
|
ifneq (,$(filter od,$(USEMODULE)))
|
|
|
|
USEMODULE += fmt
|
|
|
|
endif
|
|
|
|
|
2017-08-24 18:25:58 +02:00
|
|
|
ifneq (,$(filter od_string,$(USEMODULE)))
|
|
|
|
USEMODULE += od
|
|
|
|
endif
|
|
|
|
|
2017-10-23 15:49:10 +02:00
|
|
|
ifneq (,$(filter newlib_gnu_source,$(USEMODULE)))
|
|
|
|
USEMODULE += newlib
|
|
|
|
endif
|
|
|
|
|
2016-03-21 07:36:02 +01:00
|
|
|
ifneq (,$(filter newlib_nano,$(USEMODULE)))
|
|
|
|
USEMODULE += newlib
|
|
|
|
endif
|
|
|
|
|
2015-08-04 15:29:06 +02:00
|
|
|
ifneq (,$(filter newlib,$(USEMODULE)))
|
2015-11-23 17:43:42 +01:00
|
|
|
# allow custom newlib syscalls implementations by adding
|
|
|
|
# newlib_syscalls_XXX to USEMODULE
|
|
|
|
ifeq (,$(filter newlib_syscalls_%,$(USEMODULE)))
|
|
|
|
USEMODULE += newlib_syscalls_default
|
|
|
|
endif
|
2018-07-05 14:07:17 +02:00
|
|
|
ifeq (,$(filter stdio_rtt,$(USEMODULE)))
|
2018-07-05 14:04:17 +02:00
|
|
|
USEMODULE += stdio_uart
|
2016-01-30 07:44:39 +01:00
|
|
|
endif
|
2015-08-04 15:29:06 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-17 13:48:08 +02:00
|
|
|
ifneq (,$(filter posix_sockets,$(USEMODULE)))
|
2016-10-13 23:19:27 +02:00
|
|
|
USEMODULE += bitfield
|
2015-08-17 13:48:08 +02:00
|
|
|
USEMODULE += random
|
2017-03-22 12:36:03 +01:00
|
|
|
USEMODULE += vfs
|
2018-11-09 15:04:45 +01:00
|
|
|
USEMODULE += posix_headers
|
2017-09-20 22:11:04 +02:00
|
|
|
USEMODULE += xtimer
|
2015-08-17 13:48:08 +02:00
|
|
|
endif
|
|
|
|
|
2018-07-05 14:07:17 +02:00
|
|
|
ifneq (,$(filter stdio_rtt,$(USEMODULE)))
|
2016-01-30 07:44:39 +01:00
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2017-11-09 10:03:06 +01:00
|
|
|
ifneq (,$(filter shell,$(USEMODULE)))
|
2019-05-28 20:30:30 +02:00
|
|
|
USEMODULE += stdin
|
|
|
|
endif
|
|
|
|
|
2019-06-06 13:33:38 +02:00
|
|
|
ifneq (,$(filter stdio_ethos,$(USEMODULE)))
|
|
|
|
USEMODULE += ethos
|
|
|
|
USEMODULE += stdin
|
|
|
|
USEMODULE += stdio_uart
|
|
|
|
endif
|
|
|
|
|
2019-05-28 20:30:30 +02:00
|
|
|
ifneq (,$(filter stdin,$(USEMODULE)))
|
2017-11-09 10:03:06 +01:00
|
|
|
ifneq (,$(filter stdio_uart,$(USEMODULE)))
|
|
|
|
USEMODULE += stdio_uart_rx
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter stdio_uart_rx,$(USEMODULE)))
|
2016-12-07 20:33:23 +01:00
|
|
|
USEMODULE += isrpipe
|
2017-11-09 10:03:06 +01:00
|
|
|
USEMODULE += stdio_uart
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter stdio_uart,$(USEMODULE)))
|
2017-10-28 21:09:36 +02:00
|
|
|
FEATURES_REQUIRED += periph_uart
|
2015-09-24 21:51:23 +02:00
|
|
|
endif
|
|
|
|
|
2016-12-07 20:32:00 +01:00
|
|
|
ifneq (,$(filter isrpipe,$(USEMODULE)))
|
|
|
|
USEMODULE += tsrb
|
|
|
|
endif
|
|
|
|
|
2019-03-23 20:43:27 +01:00
|
|
|
ifneq (,$(filter isrpipe_read_timeout,$(USEMODULE)))
|
|
|
|
USEMODULE += isrpipe
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2017-09-20 22:11:04 +02:00
|
|
|
ifneq (,$(filter shell_commands,$(USEMODULE)))
|
|
|
|
ifneq (,$(filter fib,$(USEMODULE)))
|
2018-11-09 15:04:45 +01:00
|
|
|
USEMODULE += posix_inet
|
2017-09-20 22:11:04 +02:00
|
|
|
endif
|
2019-07-05 13:49:40 +02:00
|
|
|
ifneq (,$(filter nimble_netif,$(USEMODULE)))
|
|
|
|
USEMODULE += nimble_scanner
|
|
|
|
USEMODULE += nimble_scanlist
|
|
|
|
endif
|
2013-09-30 15:48:35 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-03 19:21:21 +02:00
|
|
|
ifneq (,$(filter posix_semaphore,$(USEMODULE)))
|
2015-10-19 16:15:37 +02:00
|
|
|
USEMODULE += sema
|
2015-10-25 15:53:26 +01:00
|
|
|
USEMODULE += xtimer
|
2018-11-09 15:04:45 +01:00
|
|
|
USEMODULE += posix_headers
|
2015-08-03 19:21:21 +02:00
|
|
|
endif
|
|
|
|
|
2017-11-06 11:20:43 +01:00
|
|
|
ifneq (,$(filter posix_time,$(USEMODULE)))
|
|
|
|
USEMODULE += xtimer
|
2018-11-09 15:04:45 +01:00
|
|
|
USEMODULE += posix_headers
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter posix_inet,$(USEMODULE)))
|
|
|
|
USEMODULE += posix_headers
|
2017-11-06 11:20:43 +01:00
|
|
|
endif
|
|
|
|
|
2015-11-15 20:59:19 +01:00
|
|
|
ifneq (,$(filter lwip_sixlowpan,$(USEMODULE)))
|
|
|
|
USEMODULE += lwip_ipv6_autoconfig
|
2018-12-12 10:35:41 +01:00
|
|
|
USEMODULE += l2util
|
2015-11-15 20:59:19 +01:00
|
|
|
endif
|
|
|
|
|
2016-04-28 12:22:42 +02:00
|
|
|
ifneq (,$(filter lwip_ipv6_autoconfig lwip_ipv6_mld,$(USEMODULE)))
|
2015-11-15 20:59:19 +01:00
|
|
|
USEMODULE += lwip_ipv6
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter lwip_ipv6,$(USEMODULE)))
|
|
|
|
USEMODULE += random
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter lwip_udplite,$(USEMODULE)))
|
|
|
|
USEMODULE += lwip_udp
|
|
|
|
endif
|
2015-11-27 17:14:25 +01:00
|
|
|
|
2016-09-02 19:03:35 +02:00
|
|
|
ifneq (,$(filter lwip_sock_%,$(USEMODULE)))
|
|
|
|
USEMODULE += lwip_sock
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter lwip_sock_ip,$(USEMODULE)))
|
|
|
|
USEMODULE += lwip_raw
|
2016-10-27 12:04:35 +02:00
|
|
|
USEMODULE += sock_ip
|
2016-09-02 19:03:35 +02:00
|
|
|
endif
|
|
|
|
|
2016-09-02 19:03:35 +02:00
|
|
|
ifneq (,$(filter lwip_sock_tcp,$(USEMODULE)))
|
|
|
|
USEMODULE += lwip_tcp
|
2016-10-27 12:04:35 +02:00
|
|
|
USEMODULE += sock_tcp
|
2016-09-02 19:03:35 +02:00
|
|
|
endif
|
|
|
|
|
2016-09-02 19:03:35 +02:00
|
|
|
ifneq (,$(filter lwip_sock_udp,$(USEMODULE)))
|
|
|
|
USEMODULE += lwip_udp
|
2016-10-27 12:04:35 +02:00
|
|
|
USEMODULE += sock_udp
|
2016-09-02 19:03:35 +02:00
|
|
|
endif
|
|
|
|
|
2015-11-15 20:59:19 +01:00
|
|
|
ifneq (,$(filter lwip_%,$(USEMODULE)))
|
2015-08-03 22:30:46 +02:00
|
|
|
USEPKG += lwip
|
2016-09-02 14:56:19 +02:00
|
|
|
USEMODULE += core_mbox
|
2015-11-15 20:59:19 +01:00
|
|
|
USEMODULE += lwip_api
|
2015-11-15 20:58:39 +01:00
|
|
|
USEMODULE += lwip_contrib
|
2015-08-03 22:30:46 +02:00
|
|
|
USEMODULE += lwip_core
|
2015-11-15 20:59:19 +01:00
|
|
|
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
|
2018-09-04 13:43:09 +02:00
|
|
|
ifneq (,$(filter netdev_eth,$(USEMODULE)))
|
|
|
|
USEMODULE += lwip_ethernet
|
|
|
|
endif
|
2015-11-15 20:59:19 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter lwip_ppp,$(USEMODULE)))
|
|
|
|
USEMODULE += lwip_polarssl
|
2015-08-03 22:30:46 +02:00
|
|
|
endif
|
|
|
|
|
2015-11-15 20:58:39 +01:00
|
|
|
ifneq (,$(filter lwip_contrib,$(USEMODULE)))
|
|
|
|
USEMODULE += sema
|
2016-09-02 19:03:35 +02:00
|
|
|
USEMODULE += xtimer
|
2015-11-15 20:58:39 +01:00
|
|
|
endif
|
|
|
|
|
2015-10-19 16:15:37 +02:00
|
|
|
ifneq (,$(filter sema,$(USEMODULE)))
|
2015-10-25 15:44:42 +01:00
|
|
|
USEMODULE += xtimer
|
2015-08-03 18:52:32 +02:00
|
|
|
endif
|
|
|
|
|
2013-12-20 15:23:09 +01:00
|
|
|
|
2014-07-22 20:24:45 +02:00
|
|
|
ifneq (,$(filter libfixmath-unittests,$(USEMODULE)))
|
2015-03-17 16:28:01 +01:00
|
|
|
USEPKG += libfixmath
|
2016-05-12 16:39:03 +02:00
|
|
|
USEMODULE += libfixmath
|
2014-07-22 20:24:45 +02:00
|
|
|
endif
|
2014-09-29 18:09:18 +02:00
|
|
|
|
2017-10-28 21:09:36 +02:00
|
|
|
ifneq (,$(filter luid,$(USEMODULE)))
|
|
|
|
FEATURES_OPTIONAL += periph_cpuid
|
|
|
|
endif
|
|
|
|
|
2014-11-04 08:47:57 +01:00
|
|
|
ifneq (,$(filter fib,$(USEMODULE)))
|
2015-05-25 21:01:51 +02:00
|
|
|
USEMODULE += universal_address
|
2015-09-08 13:44:52 +02:00
|
|
|
USEMODULE += xtimer
|
2018-11-09 15:04:45 +01:00
|
|
|
USEMODULE += posix_headers
|
2014-11-04 08:47:57 +01:00
|
|
|
endif
|
2015-04-09 17:36:39 +02:00
|
|
|
|
2015-09-17 12:04:35 +02:00
|
|
|
ifneq (,$(filter oonf_rfc5444,$(USEMODULE)))
|
|
|
|
USEMODULE += oonf_common
|
|
|
|
endif
|
|
|
|
|
2015-04-09 17:36:39 +02:00
|
|
|
ifneq (,$(filter oonf_common,$(USEMODULE)))
|
2015-04-09 17:45:47 +02:00
|
|
|
USEPKG += oonf_api
|
2015-09-17 12:04:35 +02:00
|
|
|
USEMODULE += posix_sockets
|
2015-04-09 17:36:39 +02:00
|
|
|
endif
|
2015-04-23 18:36:55 +02:00
|
|
|
|
2015-02-25 16:31:03 +01:00
|
|
|
# if any log_* is used, also use LOG pseudomodule
|
|
|
|
ifneq (,$(filter log_%,$(USEMODULE)))
|
|
|
|
USEMODULE += log
|
|
|
|
endif
|
2015-03-03 19:34:12 +01:00
|
|
|
|
|
|
|
ifneq (,$(filter cpp11-compat,$(USEMODULE)))
|
2015-11-11 18:17:32 +01:00
|
|
|
USEMODULE += xtimer
|
2015-03-03 19:34:12 +01:00
|
|
|
USEMODULE += timex
|
|
|
|
FEATURES_REQUIRED += cpp
|
|
|
|
endif
|
2015-06-04 11:50:03 +02:00
|
|
|
|
2015-08-17 15:41:29 +02:00
|
|
|
ifneq (,$(filter gnrc,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_netapi
|
|
|
|
USEMODULE += gnrc_netreg
|
|
|
|
USEMODULE += gnrc_netif
|
|
|
|
USEMODULE += gnrc_netif_hdr
|
|
|
|
USEMODULE += gnrc_pktbuf
|
2015-08-06 12:12:47 +02:00
|
|
|
endif
|
|
|
|
|
2015-09-09 11:29:00 +02:00
|
|
|
ifneq (,$(filter gnrc_pktbuf, $(USEMODULE)))
|
|
|
|
ifeq (,$(filter gnrc_pktbuf_%, $(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_pktbuf_static
|
|
|
|
endif
|
2018-06-22 18:47:43 +02:00
|
|
|
ifeq (gnrc_pktbuf_cmd,$(filter gnrc_pktbuf_%, $(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_pktbuf_static
|
|
|
|
endif
|
2016-02-11 00:45:25 +01:00
|
|
|
USEMODULE += gnrc_pkt
|
2015-09-09 11:29:00 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter gnrc_pktbuf_%, $(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_pktbuf # make MODULE_GNRC_PKTBUF macro available for all implementations
|
|
|
|
endif
|
|
|
|
|
2017-09-06 17:18:22 +02:00
|
|
|
ifneq (,$(filter gnrc_netif_%,$(USEMODULE)))
|
|
|
|
USEMODULE += gnrc_netif
|
|
|
|
endif
|
|
|
|
|
2016-02-14 14:49:03 +01:00
|
|
|
ifneq (,$(filter netstats_%, $(USEMODULE)))
|
|
|
|
USEMODULE += netstats
|
|
|
|
endif
|
|
|
|
|
2017-01-31 17:25:32 +01:00
|
|
|
ifneq (,$(filter gnrc_lwmac,$(USEMODULE)))
|
2017-11-16 18:06:46 +01:00
|
|
|
USEMODULE += gnrc_netif
|
2017-01-31 17:25:32 +01:00
|
|
|
USEMODULE += gnrc_mac
|
|
|
|
FEATURES_REQUIRED += periph_rtt
|
|
|
|
endif
|
|
|
|
|
2015-09-09 18:32:54 +02:00
|
|
|
ifneq (,$(filter pthread,$(USEMODULE)))
|
2017-05-16 10:39:41 +02:00
|
|
|
USEMODULE += xtimer
|
|
|
|
USEMODULE += timex
|
2015-09-09 18:32:54 +02:00
|
|
|
endif
|
2015-09-10 08:27:06 +02:00
|
|
|
|
|
|
|
ifneq (,$(filter schedstatistics,$(USEMODULE)))
|
2017-09-06 13:59:07 +02:00
|
|
|
USEMODULE += xtimer
|
2015-09-10 08:27:06 +02:00
|
|
|
endif
|
|
|
|
|
2015-09-18 23:00:31 +02:00
|
|
|
ifneq (,$(filter arduino,$(USEMODULE)))
|
2017-05-16 10:39:41 +02:00
|
|
|
FEATURES_REQUIRED += arduino
|
2019-05-06 09:20:30 +02:00
|
|
|
FEATURES_REQUIRED += periph_adc
|
|
|
|
FEATURES_REQUIRED += periph_gpio
|
2017-05-16 10:39:41 +02:00
|
|
|
USEMODULE += xtimer
|
2015-09-18 23:00:31 +02:00
|
|
|
endif
|
|
|
|
|
2015-09-10 08:27:06 +02:00
|
|
|
ifneq (,$(filter xtimer,$(USEMODULE)))
|
2017-05-16 10:39:41 +02:00
|
|
|
FEATURES_REQUIRED += periph_timer
|
|
|
|
USEMODULE += div
|
2015-09-10 08:27:06 +02:00
|
|
|
endif
|
2015-11-18 16:06:16 +01:00
|
|
|
|
2018-02-19 08:43:39 +01:00
|
|
|
ifneq (,$(filter saul,$(USEMODULE)))
|
|
|
|
USEMODULE += phydat
|
|
|
|
endif
|
|
|
|
|
2015-11-18 16:06:16 +01:00
|
|
|
ifneq (,$(filter saul_reg,$(USEMODULE)))
|
|
|
|
USEMODULE += saul
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter saul_default,$(USEMODULE)))
|
|
|
|
USEMODULE += saul
|
2017-01-17 12:20:50 +01:00
|
|
|
USEMODULE += saul_reg
|
|
|
|
USEMODULE += auto_init_saul
|
2015-11-18 16:06:16 +01:00
|
|
|
endif
|
|
|
|
|
2017-10-28 19:19:14 +02:00
|
|
|
ifneq (,$(filter saul_adc,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_adc
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter saul_gpio,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_gpio
|
|
|
|
endif
|
|
|
|
|
2015-11-18 16:06:16 +01:00
|
|
|
ifneq (,$(filter saul,$(USEMODULE)))
|
|
|
|
USEMODULE += phydat
|
|
|
|
endif
|
|
|
|
|
2019-01-13 15:04:09 +01:00
|
|
|
ifneq (,$(filter saul_nrf_temperature,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_temperature
|
|
|
|
endif
|
|
|
|
|
2015-11-18 16:06:16 +01:00
|
|
|
ifneq (,$(filter phydat,$(USEMODULE)))
|
|
|
|
USEMODULE += fmt
|
|
|
|
endif
|
2016-02-05 12:52:02 +01:00
|
|
|
|
2016-04-11 21:05:08 +02:00
|
|
|
ifneq (,$(filter evtimer,$(USEMODULE)))
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2016-11-23 19:06:59 +01:00
|
|
|
ifneq (,$(filter can_linux,$(USEMODULE)))
|
2017-10-18 11:29:22 +02:00
|
|
|
LINKFLAGS += -lsocketcan
|
2016-11-23 19:06:59 +01:00
|
|
|
endif
|
|
|
|
|
2016-11-23 19:02:02 +01:00
|
|
|
ifneq (,$(filter can,$(USEMODULE)))
|
|
|
|
USEMODULE += can_raw
|
2016-11-23 19:05:35 +01:00
|
|
|
USEMODULE += auto_init_can
|
2016-11-23 19:02:02 +01:00
|
|
|
ifneq (,$(filter can_mbox,$(USEMODULE)))
|
|
|
|
USEMODULE += core_mbox
|
|
|
|
endif
|
|
|
|
USEMODULE += gnrc_pktbuf_static
|
|
|
|
endif
|
|
|
|
|
2016-11-23 19:08:30 +01:00
|
|
|
ifneq (,$(filter can_isotp,$(USEMODULE)))
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2016-11-23 19:10:34 +01:00
|
|
|
ifneq (,$(filter conn_can,$(USEMODULE)))
|
|
|
|
USEMODULE += can
|
|
|
|
USEMODULE += can_mbox
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2018-07-03 16:13:15 +02:00
|
|
|
ifneq (,$(filter puf_sram,$(USEMODULE)))
|
|
|
|
USEMODULE += hashes
|
|
|
|
USEMODULE += random
|
|
|
|
FEATURES_REQUIRED += puf_sram
|
|
|
|
endif
|
|
|
|
|
2015-11-27 13:42:40 +01:00
|
|
|
ifneq (,$(filter random,$(USEMODULE)))
|
2017-08-30 23:49:30 +02:00
|
|
|
USEMODULE += prng
|
2017-05-16 10:39:41 +02:00
|
|
|
# select default prng
|
|
|
|
ifeq (,$(filter prng_%,$(USEMODULE)))
|
|
|
|
USEMODULE += prng_tinymt32
|
|
|
|
endif
|
2015-11-27 13:42:40 +01:00
|
|
|
|
2018-03-12 21:48:24 +01:00
|
|
|
ifneq (,$(filter prng_fortuna,$(USEMODULE)))
|
|
|
|
USEMODULE += fortuna
|
|
|
|
USEMODULE += hashes
|
|
|
|
USEMODULE += crypto
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2017-05-16 10:39:41 +02:00
|
|
|
ifneq (,$(filter prng_tinymt32,$(USEMODULE)))
|
|
|
|
USEMODULE += tinymt32
|
|
|
|
endif
|
2017-08-31 00:50:25 +02:00
|
|
|
|
2018-06-19 18:42:25 +02:00
|
|
|
ifneq (,$(filter prng_sha1prng,$(USEMODULE)))
|
|
|
|
USEMODULE += hashes
|
|
|
|
endif
|
|
|
|
|
2019-02-08 14:41:57 +01:00
|
|
|
ifeq (,$(filter puf_sram,$(USEMODULE)))
|
|
|
|
FEATURES_OPTIONAL += periph_hwrng
|
|
|
|
endif
|
|
|
|
|
2017-08-31 00:50:25 +02:00
|
|
|
USEMODULE += luid
|
2015-11-27 13:42:40 +01:00
|
|
|
endif
|
2016-09-29 15:15:21 +02:00
|
|
|
|
2018-06-29 17:25:55 +02:00
|
|
|
ifneq (,$(filter asymcute,$(USEMODULE)))
|
|
|
|
USEMODULE += sock_udp
|
|
|
|
USEMODULE += sock_util
|
|
|
|
USEMODULE += random
|
|
|
|
USEMODULE += event_timeout
|
|
|
|
USEMODULE += event_callback
|
|
|
|
endif
|
|
|
|
|
2017-02-21 00:01:59 +01:00
|
|
|
ifneq (,$(filter emcute,$(USEMODULE)))
|
|
|
|
USEMODULE += core_thread_flags
|
|
|
|
USEMODULE += sock_udp
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2016-07-08 15:56:09 +02:00
|
|
|
ifneq (,$(filter constfs,$(USEMODULE)))
|
|
|
|
USEMODULE += vfs
|
|
|
|
endif
|
|
|
|
|
2016-07-11 14:51:47 +02:00
|
|
|
ifneq (,$(filter devfs,$(USEMODULE)))
|
|
|
|
USEMODULE += vfs
|
|
|
|
endif
|
|
|
|
|
2016-08-30 10:27:14 +02:00
|
|
|
ifneq (,$(filter vfs,$(USEMODULE)))
|
2018-11-09 15:04:45 +01:00
|
|
|
USEMODULE += posix_headers
|
2017-05-16 10:39:41 +02:00
|
|
|
ifeq (native, $(BOARD))
|
|
|
|
USEMODULE += native_vfs
|
|
|
|
endif
|
2016-08-30 10:27:14 +02:00
|
|
|
endif
|
|
|
|
|
2017-03-03 11:14:41 +01:00
|
|
|
ifneq (,$(filter sock_dns,$(USEMODULE)))
|
|
|
|
USEMODULE += sock_util
|
2018-11-09 15:04:45 +01:00
|
|
|
USEMODULE += posix_headers
|
2017-03-03 11:14:41 +01:00
|
|
|
endif
|
|
|
|
|
2018-02-26 17:32:31 +01:00
|
|
|
ifneq (,$(filter sock_util,$(USEMODULE)))
|
2018-11-09 15:04:45 +01:00
|
|
|
USEMODULE += posix_inet
|
2018-06-13 16:16:48 +02:00
|
|
|
USEMODULE += fmt
|
|
|
|
USEMODULE += sock_udp
|
2018-02-26 17:32:31 +01:00
|
|
|
endif
|
|
|
|
|
2017-10-22 13:54:43 +02:00
|
|
|
ifneq (,$(filter event_%,$(USEMODULE)))
|
|
|
|
USEMODULE += event
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter event_timeout,$(USEMODULE)))
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter event,$(USEMODULE)))
|
|
|
|
USEMODULE += core_thread_flags
|
|
|
|
endif
|
|
|
|
|
2016-07-11 09:54:03 +02:00
|
|
|
ifneq (,$(filter spiffs,$(USEMODULE)))
|
2017-05-16 10:39:41 +02:00
|
|
|
USEPKG += spiffs
|
|
|
|
USEMODULE += vfs
|
|
|
|
USEMODULE += spiffs_fs
|
|
|
|
USEMODULE += mtd
|
2016-07-11 09:54:03 +02:00
|
|
|
endif
|
2017-12-19 12:22:02 +01:00
|
|
|
ifneq (,$(filter littlefs,$(USEMODULE)))
|
|
|
|
USEPKG += littlefs
|
|
|
|
USEMODULE += vfs
|
|
|
|
USEMODULE += littlefs_fs
|
|
|
|
USEMODULE += mtd
|
|
|
|
endif
|
2016-07-11 09:54:03 +02:00
|
|
|
|
2017-05-16 16:24:48 +02:00
|
|
|
ifneq (,$(filter l2filter_%,$(USEMODULE)))
|
|
|
|
USEMODULE += l2filter
|
|
|
|
endif
|
|
|
|
|
2017-05-18 01:00:11 +02:00
|
|
|
ifneq (,$(filter gcoap,$(USEMODULE)))
|
2017-11-29 14:06:28 +01:00
|
|
|
USEMODULE += nanocoap
|
|
|
|
USEMODULE += gnrc_sock_udp
|
2018-09-07 12:03:19 +02:00
|
|
|
USEMODULE += sock_util
|
2017-05-18 01:00:11 +02:00
|
|
|
endif
|
|
|
|
|
2017-08-31 00:49:57 +02:00
|
|
|
ifneq (,$(filter luid,$(USEMODULE)))
|
|
|
|
FEATURES_OPTIONAL += periph_cpuid
|
|
|
|
endif
|
|
|
|
|
2017-11-29 14:06:28 +01:00
|
|
|
ifneq (,$(filter nanocoap_%,$(USEMODULE)))
|
|
|
|
USEMODULE += nanocoap
|
|
|
|
endif
|
|
|
|
|
2017-05-12 17:46:09 +02:00
|
|
|
ifneq (,$(filter fatfs_vfs,$(USEMODULE)))
|
2017-07-05 14:54:42 +02:00
|
|
|
USEPKG += fatfs
|
|
|
|
USEMODULE += vfs
|
2017-05-12 17:46:09 +02:00
|
|
|
endif
|
|
|
|
|
2017-12-20 11:32:16 +01:00
|
|
|
ifneq (,$(filter benchmark,$(USEMODULE)))
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2018-04-05 11:10:40 +02:00
|
|
|
ifneq (,$(filter skald_%,$(USEMODULE)))
|
|
|
|
USEMODULE += skald
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter skald,$(USEMODULE)))
|
2019-06-12 17:39:42 +02:00
|
|
|
FEATURES_REQUIRED += radio_nrfble
|
2018-04-05 11:10:40 +02:00
|
|
|
USEMODULE += xtimer
|
|
|
|
USEMODULE += random
|
|
|
|
endif
|
2017-07-25 15:12:39 +02:00
|
|
|
|
2019-03-25 18:53:51 +01:00
|
|
|
ifneq (,$(filter bluetil_addr,$(USEMODULE)))
|
|
|
|
USEMODULE += fmt
|
|
|
|
endif
|
|
|
|
|
2018-10-15 10:44:32 +02:00
|
|
|
ifneq (,$(filter cord_epsim,$(USEMODULE)))
|
2018-10-15 10:05:33 +02:00
|
|
|
USEMODULE += cord_common
|
2018-10-15 10:44:32 +02:00
|
|
|
USEMODULE += gcoap
|
2017-07-24 17:42:26 +02:00
|
|
|
endif
|
|
|
|
|
2018-10-15 11:19:06 +02:00
|
|
|
ifneq (,$(filter cord_ep_standalone,$(USEMODULE)))
|
|
|
|
USEMODULE += cord_ep
|
2018-04-10 14:44:01 +02:00
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2018-10-15 11:19:06 +02:00
|
|
|
ifneq (,$(filter cord_ep,$(USEMODULE)))
|
2018-10-15 10:05:33 +02:00
|
|
|
USEMODULE += cord_common
|
2018-04-10 14:44:01 +02:00
|
|
|
USEMODULE += core_thread_flags
|
|
|
|
USEMODULE += gcoap
|
|
|
|
ifneq (,$(filter shell_commands,$(USEMODULE)))
|
|
|
|
USEMODULE += sock_util
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2018-10-15 10:05:33 +02:00
|
|
|
ifneq (,$(filter cord_common,$(USEMODULE)))
|
2017-07-25 15:12:39 +02:00
|
|
|
USEMODULE += fmt
|
2017-07-24 17:42:26 +02:00
|
|
|
USEMODULE += luid
|
2017-07-25 15:12:39 +02:00
|
|
|
endif
|
|
|
|
|
2018-04-20 11:12:33 +02:00
|
|
|
ifneq (,$(filter tlsf-malloc,$(USEMODULE)))
|
|
|
|
USEPKG += tlsf
|
|
|
|
endif
|
|
|
|
|
2019-01-31 22:44:12 +01:00
|
|
|
ifneq (,$(filter usbus,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_usbdev
|
|
|
|
USEMODULE += core_thread_flags
|
|
|
|
USEMODULE += event
|
|
|
|
endif
|
|
|
|
|
2019-02-27 22:19:12 +01:00
|
|
|
ifneq (,$(filter usbus_cdc_ecm,$(USEMODULE)))
|
|
|
|
USEMODULE += iolist
|
|
|
|
USEMODULE += fmt
|
|
|
|
USEMODULE += usbus
|
|
|
|
USEMODULE += netdev_eth
|
|
|
|
USEMODULE += luid
|
|
|
|
endif
|
|
|
|
|
2018-04-28 11:33:06 +02:00
|
|
|
ifneq (,$(filter uuid,$(USEMODULE)))
|
|
|
|
USEMODULE += hashes
|
|
|
|
USEMODULE += random
|
2018-08-23 14:00:44 +02:00
|
|
|
USEMODULE += fmt
|
2018-04-28 11:33:06 +02:00
|
|
|
endif
|
|
|
|
|
2019-03-11 14:28:17 +01:00
|
|
|
ifneq (,$(filter riotboot_flashwrite, $(USEMODULE)))
|
|
|
|
USEMODULE += riotboot_slot
|
|
|
|
FEATURES_REQUIRED += periph_flashpage
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter riotboot_slot, $(USEMODULE)))
|
|
|
|
USEMODULE += riotboot_hdr
|
|
|
|
endif
|
|
|
|
|
2018-10-09 15:28:25 +02:00
|
|
|
ifneq (,$(filter riotboot_hdr, $(USEMODULE)))
|
|
|
|
USEMODULE += checksum
|
|
|
|
USEMODULE += riotboot
|
|
|
|
endif
|
|
|
|
|
2019-07-29 15:44:08 +02:00
|
|
|
ifneq (,$(filter irq_handler,$(USEMODULE)))
|
|
|
|
USEMODULE += event
|
|
|
|
endif
|
|
|
|
|
2019-06-05 10:54:25 +02:00
|
|
|
ifneq (,$(filter tinydtls_sock_dtls, $(USEMODULE)))
|
|
|
|
USEPKG += tinydtls
|
|
|
|
USEMODULE += sock_dtls
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter sock_dtls, $(USEMODULE)))
|
|
|
|
USEMODULE += credman
|
|
|
|
USEMODULE += sock_udp
|
|
|
|
endif
|
|
|
|
|
2018-08-26 09:20:56 +02:00
|
|
|
# Enable periph_gpio when periph_gpio_irq is enabled
|
|
|
|
ifneq (,$(filter periph_gpio_irq,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_gpio
|
|
|
|
endif
|
2017-07-27 11:37:46 +02:00
|
|
|
|
|
|
|
ifneq (,$(filter devfs_hwrng,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_hwrng
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter devfs_random,$(USEMODULE)))
|
|
|
|
USEMODULE += random
|
|
|
|
endif
|
|
|
|
|
2017-09-09 12:41:15 +02:00
|
|
|
# always select gpio (until explicit dependencies are sorted out)
|
|
|
|
FEATURES_OPTIONAL += periph_gpio
|
|
|
|
|
2017-10-18 23:04:30 +02:00
|
|
|
# always select power management if available
|
|
|
|
FEATURES_OPTIONAL += periph_pm
|
|
|
|
|
2016-09-29 15:15:21 +02:00
|
|
|
# include package dependencies
|
|
|
|
-include $(USEPKG:%=$(RIOTPKG)/%/Makefile.dep)
|
|
|
|
|
2017-09-09 01:10:59 +02:00
|
|
|
|
|
|
|
# all periph features correspond to a periph submodule
|
2019-05-03 16:19:20 +02:00
|
|
|
# FEATURES_USED is defined in Makefile.features
|
2017-09-09 01:10:59 +02:00
|
|
|
USEMODULE += $(filter periph_%,$(FEATURES_USED))
|
|
|
|
|
2018-10-11 17:10:03 +02:00
|
|
|
# select cpu_check_address pseudomodule if the corresponding feature is used
|
|
|
|
USEMODULE += $(filter cpu_check_address, $(FEATURES_USED))
|
|
|
|
|
2018-09-07 22:09:52 +02:00
|
|
|
# include periph_common if any periph_* driver is used
|
|
|
|
ifneq (,$(filter periph_%, $(USEMODULE)))
|
|
|
|
USEMODULE += periph_common
|
|
|
|
endif
|
|
|
|
|
2016-09-29 15:15:21 +02:00
|
|
|
# recursively catch transitive dependencies
|
|
|
|
USEMODULE := $(sort $(USEMODULE))
|
|
|
|
USEPKG := $(sort $(USEPKG))
|
|
|
|
ifneq ($(OLD_USEMODULE) $(OLD_USEPKG),$(USEMODULE) $(USEPKG))
|
2017-09-06 13:59:07 +02:00
|
|
|
include $(RIOTBASE)/Makefile.dep
|
2016-09-29 15:15:21 +02:00
|
|
|
endif
|
2018-07-11 13:50:07 +02:00
|
|
|
|
|
|
|
ifneq (,$(filter ecc_%,$(USEMODULE)))
|
|
|
|
USEMODULE += ecc
|
|
|
|
endif
|