*** Multiple ways to build the same target were specified for: .asm .s

Tryign to compile wolfssl:

into a blank project (so just including a few headers. Yields this error. I can’t find anywhere what it means
pio file:
platform = espressif32
framework = espidf
board = nodemcu-32s
monitor_speed = 115200
monitor_filters = esp32_exception_decoder, default
board_build.partitions = partition_table.csv
build_type = debug

PlatformIO takes a source file (source.cpp / source.c / source.asm / source.s / source.S) and assigns it a object file (.o) compilation output target. The name scheme is such that that source.x (where x is one of the extenions above) is compiled to source.o. Thus if multiple files of the same filename but differing file extension are to be compiled or assembled, this will fail (e.g. source.cpp and source.asm in the same folder would both lead to a source.o -> not possible)

PlatformIO uses the GNU as(sembler) toolchain, and the convention there is that it works on .S files. So, you should look at which file this is and find out if they have duplicate content (common if e.g. written for different assemblers) and only delete the GNU as compatible one.

For WolfSSL this seems strange though – I doubt they have written assembler crypto routines for the XTensa LX6. Are you sure the microachitecture taget for these asm files is XTensa and not x86 / AES-NI?