1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/pkg/openwsn/Makefile.dep
Marian Buschsieweke aa084dd5d5
pkg/openwsn: correctly add dependencies
OpenWSN requires a compatible network interface (feature
`netif_openwsn`) and UART (at least `UART_NUMOF` needs to be provided).
2024-05-27 22:57:21 +02:00

123 lines
3.0 KiB
Makefile

FEATURES_REQUIRED += netif_openwsn
FEATURES_REQUIRED += periph_uart
ifneq (,$(filter openwsn_openstack,$(USEMODULE)))
USEMODULE += openwsn_iphc
USEMODULE += openwsn_ipv6
USEMODULE += openwsn_mac_low
USEMODULE += openwsn_mac_high
USEMODULE += openwsn_crosslayers
USEMODULE += openwsn_drivers
USEMODULE += openwsn_sctimer
USEMODULE += openwsn_radio
USEMODULE += openwsn_openweb
USEMODULE += openwsn_openapps
USEMODULE += openwsn_scheduler
DEFAULT_MODULE += auto_init_openwsn
endif
ifneq (,$(filter openwsn_scheduler,$(USEMODULE)))
# allow to mock the scheduler as needed
ifeq (,$(filter openwsn_scheduler_mock,$(USEMODULE)))
USEMODULE += openwsn_riotos
endif
endif
ifneq (,$(filter openwsn_riotos,$(USEMODULE)))
USEMODULE += event
USEMODULE += event_callback
USEMODULE += memarray
endif
ifneq (,$(filter openwsn_ipv6,$(USEMODULE)))
USEMODULE += ipv6
DEFAULT_MODULE += openwsn_icmpv6_echo
endif
ifneq (,$(filter openwsn_cjoin,$(USEMODULE)))
USEMODULE += openwsn_coap
USEMODULE += openwsn_crypto
endif
ifneq (,$(filter openwsn_coap,$(USEMODULE)))
# The implementation of sock_udp used by openwsn_coap is asynchronous
USEMODULE += openwsn_sock_async
endif
ifneq (,$(filter openwsn_crypto,$(USEMODULE)))
USEMODULE += cipher_modes
endif
ifneq (,$(filter openwsn_radio,$(USEMODULE)))
# enable default network devices on the platform
USEMODULE += netdev_default
USEMODULE += netdev
USEMODULE += luid
ifneq (,$(filter cc2538_rf nrf802154,$(USEMODULE)))
USEMODULE += openwsn_radio_hal
endif
ifneq (,$(filter at86rf2xx,$(USEMODULE)))
USEMODULE += openwsn_radio_netdev
endif
endif
ifneq (,$(filter openwsn_radio_hal,$(USEMODULE)))
# Used here only for dependency resolution
DISABLE_MODULE += auto_init_gnrc_netif
endif
ifneq (,$(filter openwsn_sctimer,$(USEMODULE)))
ifeq (,$(filter openwsn_sctimer_ztimer,$(USEMODULE)))
USEMODULE += openwsn_sctimer_rtt
endif
endif
ifneq (,$(filter openwsn_sctimer_ztimer,$(USEMODULE)))
USEMODULE += ztimer_usec
USEMODULE += ztimer_msec
endif
ifneq (,$(filter openwsn_sctimer_rtt,$(USEMODULE)))
FEATURES_REQUIRED += periph_rtt
endif
ifneq (,$(filter openwsn_serial,$(USEMODULE)))
USEMODULE += openwsn_drivers
USEMODULE += ztimer_usec
FEATURES_REQUIRED += periph_uart
FEATURES_OPTIONAL += periph_uart_nonblocking
endif
ifneq (,$(filter openwsn_leds openwsn_debugpins,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
endif
ifneq (,$(filter openwsn_debugpins,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter sock_udp,$(USEMODULE)))
USEMODULE += ipv6_addr
USEMODULE += openwsn_udp
USEMODULE += openwsn_sock_udp
endif
ifneq (,$(filter openwsn_sock%,$(USEMODULE)))
USEMODULE += openwsn_sock
USEMODULE += core_mbox
USEMODULE += ztimer_usec
endif
ifneq (,$(filter openwsn_sock_async,$(USEMODULE)))
USEMODULE += sock_async
endif
ifneq (,$(filter shell_cmds_default,$(USEMODULE)))
USEMODULE += l2util
endif
# This port currently requires setting ISR_STACKSIZE
FEATURES_BLACKLIST += arch_esp32 arch_esp8266 arch_riscv arch_avr8