Hello list.

In a discussion with the LuaList, I got involved with
how GNU-make on Windows handles all targets in a case-
insensitive manner. Like in this 'case-insensitive-win.mak':

-----
default: program_name

PROGRAM_NAME Program_Name program_name:
        @echo 'Do something for $@.'

-----

c:\> make -f case-insensitive-win.mak
case-insensitive-win.mak:3: target 'program_name' given more than once in the 
same rule
case-insensitive-win.mak:3: target 'program_name' given more than once in the 
same rule
Do something for program_name.

-----

I understand that real files should be treated in a case-insensitive
manner, but such "phony" targets (whatever it's called)?
The only hit for "sensitive" in my GNU-make.pdf was this:
  Variable names are case-sensitive. The names ‘foo’, ‘FOO’, and ‘Foo’
  all refer to different variables.

I fail to understand all the details around '-DHAVE_CASE_INSENSITIVE_FS',
but is the above .mak-file working as designed on Windows?

If it is, then gnumake aborts in 'install_default_suffix_rules()'
if '-DMAKE_MAINTAINER_MODE' is defined. In default.c, at
 assert (f->cmds == 0);

since AFAICS the implicit ".c" and ".C" rules is the same on Windows.
I can come back to that later.

--
--gv

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to