binutils / bfd target magic
So the BFD architectures listed in bfd.h are actually defined archures.c in a big comment block at the start of the file. This is split out and fired into the documentation, many bfd-in-xx.h files, and finally into bfd.h.
Note that a ‘make headers’ doesn’t re-build it. I found a ‘make distclean; ./configure’ was the most brute force way.