Со временем разные языки программирования или экосистемы обычно создают свои собственные инструменты для сборки.Поэтому они, как правило, в большей степени связаны с соответствующим контекстом, в котором они, как ожидается, будут использоваться. Хотя make
уже является более старым инструментом сборки, он все еще широко используется, поскольку в нем не делается слишком много предположений относительно того, что вы пытаетесь построить.Однако, как вы обнаружили сами, у него есть свои пределы.
Лично я воздерживался от того, чтобы больше не использовать пробелы в именах файлов, и все еще использую Madoko с make
.Однако, если вам это не удобно, ваши варианты являются инструментом, который по своей сути принесет с собой больше контекстуальных допущений.Например, с помощью инструмента Gradle в мире Java, как правило, будет легко выполнить ваше требование, но вам придется выражать его с помощью синтаксиса Groovy, и каждый запуск вашей задачи будет включать JVM.Другим примером является Rake, который требует от вас представить экосистему Ruby.Тем не менее, я бы порекомендовал вам попробовать, потому что это довольно просто, но все же мощно и определенно более легко, чем подход JVM.Другим более разнородным подходом может быть Cmake, но, не имея опыта, я ничего не могу сказать о взлетах или падениях.