Если вы укажете определения в вашем источнике, существует риск того, что один и тот же файл заголовка может быть включен в несколько исходных файлов (единиц перевода), но с разными определениями препроцессора, что может привести к нарушению правила одного определения, которое часто является болью для отладки.
Указав определения для всего проекта, а не в отдельных исходных файлах, вероятность такого нарушения правила одного определения минимизируется.
Кроме того, если возникает необходимость добавить новое определение, вы изменяете только один make-файл, а не все исходные файлы.