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
|
|
|
|
2015-10-21 15:11:05 +02:00
|
|
|
# pull dependencies from drivers
|
|
|
|
include $(RIOTBASE)/drivers/Makefile.dep
|
2016-02-07 19:04:10 +01:00
|
|
|
|
2017-10-23 15:49:10 +02:00
|
|
|
ifneq (,$(filter cbor_ctime,$(USEMODULE)))
|
|
|
|
ifneq (,$(filter newlib,$(USEMODULE)))
|
|
|
|
USEMODULE += newlib_gnu_source
|
|
|
|
endif
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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)))
|
|
|
|
USEMODULE += posix
|
|
|
|
endif
|
|
|
|
|
2016-07-09 11:25:34 +02:00
|
|
|
ifneq (,$(filter nordic_softdevice_ble,$(USEPKG)))
|
2017-05-16 10:39:41 +02:00
|
|
|
USEMODULE += softdevice_handler
|
|
|
|
USEMODULE += ble_common
|
|
|
|
USEMODULE += ble_6lowpan
|
|
|
|
USEMODULE += gnrc_sixlowpan
|
|
|
|
USEMODULE += gnrc_sixlowpan_iphc
|
|
|
|
USEMODULE += gnrc_ipv6_default
|
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
|
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)))
|
|
|
|
USEMODULE += gnrc_ipv6_router_default
|
2015-08-18 17:23:40 +02:00
|
|
|
USEMODULE += trickle
|
2015-09-04 13:16:36 +02:00
|
|
|
USEMODULE += xtimer
|
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
|
|
|
|
|
2015-08-07 14:36:04 +02:00
|
|
|
ifneq (,$(filter ieee802154,$(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)))
|
|
|
|
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)))
|
|
|
|
USEMODULE += gnrc_ipv6
|
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)))
|
2015-08-09 23:53:40 +02:00
|
|
|
USEMODULE += ipv6_ext_rh
|
2015-03-07 21:46:57 +01:00
|
|
|
endif
|
|
|
|
|
2015-08-09 23:53:40 +02:00
|
|
|
ifneq (,$(filter ipv6_ext_rh,$(USEMODULE)))
|
|
|
|
USEMODULE += 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
|
|
|
|
|
|
|
|
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
|
|
|
|
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
|
2016-01-30 07:44:39 +01:00
|
|
|
ifeq (,$(filter rtt_stdio,$(USEMODULE)))
|
|
|
|
USEMODULE += uart_stdio
|
|
|
|
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
|
2017-09-20 22:11:04 +02:00
|
|
|
USEMODULE += posix
|
|
|
|
USEMODULE += xtimer
|
2015-08-17 13:48:08 +02:00
|
|
|
endif
|
|
|
|
|
2016-01-30 07:44:39 +01:00
|
|
|
ifneq (,$(filter rtt_stdio,$(USEMODULE)))
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2015-09-24 21:51:23 +02:00
|
|
|
ifneq (,$(filter uart_stdio,$(USEMODULE)))
|
2016-12-07 20:33:23 +01:00
|
|
|
USEMODULE += isrpipe
|
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
|
|
|
|
|
2017-09-20 22:11:04 +02:00
|
|
|
ifneq (,$(filter shell_commands,$(USEMODULE)))
|
|
|
|
ifneq (,$(filter fib,$(USEMODULE)))
|
|
|
|
USEMODULE += posix
|
|
|
|
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
|
2015-08-03 19:21:21 +02:00
|
|
|
endif
|
|
|
|
|
2017-11-06 11:20:43 +01:00
|
|
|
ifneq (,$(filter posix_time,$(USEMODULE)))
|
|
|
|
USEMODULE += xtimer
|
|
|
|
endif
|
|
|
|
|
2015-11-15 20:59:19 +01:00
|
|
|
ifneq (,$(filter lwip_sixlowpan,$(USEMODULE)))
|
|
|
|
USEMODULE += lwip_ipv6_autoconfig
|
|
|
|
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)))
|
|
|
|
USEMODULE += lwip
|
|
|
|
endif
|
|
|
|
|
2015-08-03 22:30:46 +02:00
|
|
|
ifneq (,$(filter lwip,$(USEMODULE)))
|
|
|
|
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
|
|
|
|
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
|
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
|
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
|
|
|
|
|
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
|
|
|
|
FEATURES_REQUIRED += cpp
|
|
|
|
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
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|
2017-05-16 10:39:41 +02:00
|
|
|
ifneq (,$(filter prng_tinymt32,$(USEMODULE)))
|
|
|
|
USEMODULE += tinymt32
|
|
|
|
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
|
|
|
|
2017-05-19 01:02:19 +02:00
|
|
|
ifneq (,$(filter openthread_contrib,$(USEMODULE)))
|
|
|
|
USEMODULE += openthread_contrib_netdev
|
|
|
|
FEATURES_REQUIRED += cpp
|
2015-11-27 13:42:40 +01:00
|
|
|
endif
|
2016-09-29 15:15:21 +02:00
|
|
|
|
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)))
|
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
|
|
|
|
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-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
|
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-07-26 23:22:01 +02:00
|
|
|
ifneq (,$(filter ccn-lite,$(USEPKG)))
|
|
|
|
USEMODULE += ccn-lite-utils
|
|
|
|
endif
|
|
|
|
|
2017-05-12 17:46:09 +02:00
|
|
|
ifneq (,$(filter fatfs_vfs,$(USEMODULE)))
|
|
|
|
USEPKG += fatfs
|
|
|
|
USEMODULE += vfs
|
|
|
|
|
|
|
|
ifeq ($(BOARD),native)
|
|
|
|
USEMODULE += fatfs_diskio_native
|
|
|
|
FATFS_DISKIO_NATIVE_DEFAULT_FILE ?= \"riot_fatfs_disk.img\"
|
|
|
|
else
|
|
|
|
USEMODULE += fatfs_diskio_sdcard_spi
|
|
|
|
USEMODULE += auto_init_storage
|
|
|
|
endif
|
|
|
|
|
|
|
|
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
|
|
|
# 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))
|
|
|
|
|
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
|