While I agree this is a great idea, would it be hard to make it a bit less verbose?
I.e, instead of
> ### call $(gb_Library_set_include) -->
> ### arg 0 for call $(gb_Library_set_include) is 'gb_Library_set_include'
> ### arg 1 for call $(gb_Library_set_include) is 'msword'
> ### arg 2 for call $(gb_Library_set_include) is '
> -I/lo/libo/clone/writer/sw/source/core/inc
> -I/lo/libo/clone/writer/sw/source/ui/inc
> -I/lo/libo/clone/writer/sw/source/filter/inc
> -I/lo/libo/clone/writer/sw/inc/pch -I/lo/libo/clone/writer/sw/inc
> -I/lo/libo/solver/340/unxlngx6.pro/workdir/inc/sw/sdi
> -I/lo/libo/solver/340/unxlngx6.pro/workdir/Misc/sw/ $(INCLUDE)
> -I/lo/libo/solver/340/unxlngx6.pro/inc/offuh
> -I/lo/libo/solver/340/unxlngx6.pro/inc/sw '
Perhaps just put it all on a single line, with newlines in arguments represented as \n, and long arguments just truncated at some suitably shortish length? Something like:
> ### $(gb_Library_set_include 'gb_Library_set_include'. 'msword', '\n-I/lo/libo/clone/writer/sw/source/core/inc\n...')
But yeah, this is bikeshedding, certainly already what you have will be of great help in debugging gbuild issues.
--tml