$ (shell pwd) неверно, поскольку make-файл может существовать в каталоге, отличном от pwd (как разрешено make -f
).
ОП предлагает
export ROOT=$(realpath $(dir $(lastword $(MAKEFILE_LIST))))
хорошо, за исключением того, что он / она, вероятно, хочет вместо этого использовать firstword
, особенно если make-файл верхнего уровня (потенциально) include
другой make-файл (ы) до назначения ROOT.
Проблему ОП 10% можно было бы объяснить, если бы было условное включение в 10% времени до назначения, но, эй, это предположение ...