FWIW, I don't see an advantage in this proposal, and it has the disadvantage of more maintenance if one needs to create a new list. The current state of things is simpler.
For example, a list is:
```
OBJS = \
a.o \
b.o
```
Now we need to add c.o, then: ```
OBJS = \
a.o \
b.o \ <== this line needs to add tailing \
c.o <== add this new line
```
there are two lines of changes.
With the $(ENDLIST), we just add an single line:
```
OBJS = \
a.o \
b.o \
c.o \ <== only adding this new line, a single line of diff
$(ENDLIST)
```
Could you please explain what more maintenance would be?
I do get the argument about C enums, but there is a difference between a grammar rule trick and something allowed in a language specification.
I didn't mention C enums. How did you get that? I think I only mentioned C/C++ projects because they used Makefile for building.