[Samsung Galaxy J5 (2015) ROMs, Kernels, Recoveries] :
I thought it was included by default in most recent versions of TWRP? If it's not, I don't even know how to add support to it. But the dream of self-compiling TWRP has turned into a nightmare for me. I fixed that previous error and it even compiled a recovery image, but it was the LineageOS one, lol.

Then I searched a bit more on how to compile for TWRP and tried this:

$ export RECOVERY_VARIANT=twrp
$ ./scripts/build.sh -d lineage -t recoveryimage --type eng --device j5lte -p . -j 4 -s

It doesn't work either, I get these errors at some point:

error: bootable/recovery-twrp/otafault/Android.bp:15:1: module "libotafault" already defined
bootable/recovery/otafault/Android.bp:15:1 <-- previous definition here
error: bootable/recovery-twrp/applypatch/Android.bp:15:1: module "applypatch_defaults" already defined
bootable/recovery/applypatch/Android.bp:15:1 <-- previous definition here
error: bootable/recovery-twrp/otautil/Android.bp:15:1: module "libotautil" already defined
bootable/recovery/otautil/Android.bp:15:1 <-- previous definition here
error: bootable/recovery-twrp/edify/Android.bp:15:1: module "libedify" already defined
bootable/recovery/edify/Android.bp:15:1 <-- previous definition here
error: bootable/recovery-twrp/bootloader_message/Android.bp:17:1: module "libbootloader_message" already defined
bootable/recovery/bootloader_message/Android.bp:17:1 <-- previous definition here
error: bootable/recovery-twrp/uncrypt/Android.bp:15:1: module "uncrypt" already defined
bootable/recovery/uncrypt/Android.bp:15:1 <-- previous definition here
error: bootable/recovery-twrp/applypatch/Android.bp:30:1: module "libapplypatch" already defined
bootable/recovery/applypatch/Android.bp:30:1 <-- previous definition here
error: bootable/recovery-twrp/otafault/Android.bp:50:1: module "otafault_test" already defined
bootable/recovery/otafault/Android.bp:50:1 <-- previous definition here
error: bootable/recovery-twrp/applypatch/Android.bp:68:1: module "libapplypatch_modes" already defined
bootable/recovery/applypatch/Android.bp:68:1 <-- previous definition here
error: bootable/recovery-twrp/applypatch/Android.bp:88:1: module "applypatch" already defined
bootable/recovery/applypatch/Android.bp:88:1 <-- previous definition here
error: bootable/recovery-twrp/applypatch/Android.bp:119:1: module "libimgdiff" already defined
bootable/recovery/applypatch/Android.bp:119:1 <-- previous definition here
error: bootable/recovery-twrp/applypatch/Android.bp:149:1: module "imgdiff" already defined
bootable/recovery/applypatch/Android.bp:149:1 <-- previous definition here
error: bootable/recovery-twrp/applypatch/Android.bp:176:1: module "libimgpatch" already defined
bootable/recovery/applypatch/Android.bp:176:1 <-- previous definition here
ninja: build stopped: subcommand failed.
18:35:33 soong bootstrap failed with: exit status 1

If I delete the bootable/recovery folder, compilation proceeds a bit more, but also fails a bit later:

[1/1] /home/user/git/lineage-16.0/out/soong/.minibootstrap/minibp /home/user/git/lineage-16.0/out/soong/.bootstrap/build.ninja
[1/1] /home/user/git/lineage-16.0/out/soong/.bootstrap/bin/soong_build /home/user/git/lineage-16.0/out/soong/build.ninja
/home/user/git/lineage-16.0/out/build-lineage_j5lte-cleanspec.ninja is missing, regenerating...
/home/user/git/lineage-16.0/out/build-lineage_j5lte.ninja is missing, regenerating...
[4/1085] including bootable/recovery-twrp/Android.mk ...
cat: external/busybox/busybox-full.links: No such file or directory
bootable/recovery-twrp/tests/Android.mk:63: error: FindEmulator: cd: bootable/recovery: No such file or directory
18:17:18 ckati failed with: exit status 1

#### failed to build some targets (01:21 (mm:ss)) ####

TL;DR: I quit for now