Ваш ${group_number}
будет заменен макросом make с таким же именем. Но строка выше устанавливает его как переменную оболочки (в оболочке, отличной от той, в которой вы ее используете; простое удвоение $
не сработает ).
Вы должны определить его как макрос --, т.е. не в правиле, а в строке без отступа табуляции. То же самое с tests
; каждая строка запускается в другой оболочке, вы не можете использовать общие переменные между ними.
Рабочий раствор:
foo: group_number=$(shell echo $$(( $(test_group) - 1 )))
foo: tests=$(shell ls *.feature | awk 'NR%$(test_group_count)==${group_number}')
foo:
run_tests ${tests}