@samkooke & @pop1234,
The reason for the missing fup is not the difference between $TOOLS_DIR and $TOOLSDIR but is caused probably by the fact the ./flash.sh is run as root, not as fakeroot. This changes the home directory from /home/$USER to /root and the source of the flash tools cannot be found.
Some distributions do not run ./flash.sh well as fakeroot (Fedora 26 for example) and indeed need root. The problem can be circumvented by running ./flash.sh once without superuser rights; this will compile fup (and the other missing tools). Another way is to compile fup by hand; there is a script for that in X/flash/flash_tools/fup.src.
Changing $TOOLSDIR to $TOOLS_DIR does not make a difference, as the flash environment uses its own set of environment variables because it stands on its own. The ddt-buildsystem has the flash process integrated in the buildsystem and there $TOOLS_DIR would be correct.
I think changing $TOOLSDIR to $TOOLS_DIR would only bring confusion, as $TOOLSDIR in the flash environment and $TOOLS_DIR in the buildsystem have nothing to do with each other and point to different directories: $TOOLSDIR=X/flash/flash_tools and $TOOLS_DIR=X/tools.
Thank you pop1234 for your effort; with the next push of the flash git I will change $TOOLSDIR to $FLASHTOOLSDIR to make things more clear.
Regards,
Audioniek.