On Thu, 2018-08-02 at 16:44 +0200, Gisle Vanem wrote: > install_default_suffix_rules (void) > { > ... > for (s = default_suffix_rules; *s != 0; s += 2, loop++) > { > > That assert() doesn't seems to consider Windows.
It's HIGHLY likely that no one has ever tried to run in maintainer mode on Windows. Like Eli, I know I've never done it and if neither of us have tried I don't know who would have. Even case-insensitive mode is not completely available as you've discovered. The problem is that there's no good way to know whether a given target is a file (which should be treated case-insensitively as the filesystem does) or not. So in order for this to really work you'd pretty much have to perform all comparisons case-insensitively even things like: all: aLL: aLl: etc. would have to be considered the same target. Then there's the question of case-preserving or not. To be case- preserving, make would have to be doing all string searches and comparisons using case-insensitive implementations which would be a lot of code churn. And we would have to care a lot more about internationalization since case comparison is highly locale-specific. Right now make (IIRC, I don't use case-insensitive mode much) assumes all internal targets in its makefile are case-sensitive and only does case-insensitivity when it comes to looking up files on disk. That means you have to write all your makefile targets and prerequisites using identical case. > Besides, there seems to be a mem-leak in that loop. I see no mem leak in that function...? _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make