Please what is purpose of linux-ow.sh and owenv.sh script files?
I don't understand why it has complete messy INCLUDE environment variable.
Why OW tools setup is for 32-bit Windows if you compile for different targets?
It results in following wrong message in shell scripts
"# why is this even necessary? why does dumbshit Watcom insist on including the WINNT headers for Windows 3.1 builds?"
It is caused by previous wrong OW setup.
in other files <os>_INCLUDE variables are used and wrongly combined with INCLUDE variable.
Such OW setup can cause some hiden mistakes etc.
You should handle cross-compilation one way only, don't mix multiple mechanism.
- full handling by
<os>_INCLUDE and INCLUDE variables
- full handling by command line -I option
By example OW build system is fully cross-compilation system and it uses "full handling by command line -I options" for flexibility.
It requires to ignore all ..INCLUDE variables, it is ensured by using -x compiler option.
I thing for your project you could use aproach with <os>_INCLUDE and INCLUDE variables