Ну как это? Строит, либо пользуется сгенерированным GCC.
Не, если мы граф зависимостей модулей строим на лету, а .depend нам построил GCC, и это не считается, то да, можно... 😀
Так зачем заголовки компилировать? Насколько я знаю по неким ключам у компилятора можно попросить заголовки того или иного cpp файла и добавить их в input для цели, чтобы пересобирать при изменении заголовка. И на этом знания заканчиваются, т.к. больше ничего не надо, сами cpp файлы могут компилироваться независимо. А вводим модули и получаем зависимости между самими cpp файлами, а значит и просадку в масштабируемости. И это уже неустранимо. Остаётся только рассуждать что мы больше выиграли или потеряли и если на 8-16 ядрах на ноутбуке разработчика скорее выиграли, то на 128 ядерной билдстанции возможно и потеряли. Но учитывая тонны шаблонов в каком-нибудь eigen/tensorflow/pytorch, если сможем закешировать инстансы, то и там выиграем как минимум на счетах за электричество