Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Verify that the line "supported targets" contains the string
"efi-app-ia32" and "efi-app-x86_64" and that the "-j" option
accepts wildcards.
It names as an functioning example Objcopy 2.24.
But my version (Objcopy 2.35 on Manjaro Linux) doesn't support EFI targets nor -j wildcards.
Do I have to download and build Objcopy (or Binutils) from source now?
objcopy treats efi-app-ia32 as pei-i386, and efi-app-x86_64 as pei-x86-64. If the pei-* strings are listed as supported targets, that should work. Check convert_efi_target inside binutils.
Clang is great, but I don't recommend using c-efi headers. They are buggy and incomplete. Shouldn't be be difficult to use gnu-efi headers anyway, though; just copy them in and add to your include path. (Gnu efi headers also match the spec more closely, which makes it easier to adapt examples.)