Get the first letter of a make variable

gnu-make

Solution

This is pretty horrible, but at least it doesn't invoke `shell`:

$(eval REMAINDER := $$$(VAR))          # variable minus the first char
FIRST := $(subst $(REMAINDER),,$(VAR)) # variable minus that

Problem

Is there a better way to get the first character of a GNU `make` variable than ``` FIRST=$(shell echo $(VARIABLE) | head -c 1) ``` (which is not only unwieldy but also calls the external shell)?

Original source

Related problems