В опубликованном коде цикл for выполняется в оболочке (bash?), А не утилитой make.
Проблема скрипта bash заключается в том, что оператор breakработает в подпроцессе - так как он помещен в круглые скобки '(перерыв).Согласно руководству по bash, команды потока управления (пока, если, для, возврат, ...) должны выполняться в "основном" процессе.Невозможно разделить их по процессам.
Удаление '(' должно решить проблему - цикл остановится после печати 'Number: 10'.
print:
@for number in 10 11 12 13 14 15; do \
( echo "Number: $$number" ); \
break ; \
( echo Break not working ); \
done
Как сторонаобратите внимание, нет необходимости помещать операторы 'echo' в '(...)'. Это делает сценарий форк ненужными экземплярами o bash.