Что за файл Makefile и для чего он нужен в проектах на Rust?
За непосредственную сборку кода на раст обычно отвечает родной пакетный менеджер - Cargo.

Мейкфайлами в раст проектах иногда пользуются для автоматизации других рутинных задач, например запуска отладочного сервера с нужным конфигом, конвертации ресурсов, подготовки каких-нибудь особых пакетов, т.п. Но для этого для обязательно использовать честный make, можно взять какой-то из близких по функционалу расширений cargo, например https://github.com/sagiegurari/cargo-make .
Файл инструкция для сборки проекта. Чтобы не писать скрипты. Обычно он автоненерированный и очень большой