sh вместо make

11.05.2026

В мире всяких аналогов make создано достаточно. И даже больше чем достаточно! Есть как альтернативные реализации (GNU Make vs BSD Make), так и совсем самобытные (redo). В моей практике, как разработчика НЕ на Си — make используется исключительно как запускалка некоторых частых команд. И это притом, что make всё же несколько для другого и в целом, именно запускался — скорее побочный эффект.

Казалось бы, тогда для большей красоты — стоит использовать специализированное решение, например, Taskfile. Но тогда каждому для работы с проектом придётся ставить приложение для работы с Taskfile. Выглядит как такое себе решение.

Но! У всех же точно есть POSIX sh! Так что мешает делать очень минималистичный sh скрипт, суть которого в простом запуске команд? Да ничего! Вот самый простой вариант:

#! /bin/sh

case "$1" in
	infra_up)
		docker compose up -d
		;;
	infra_down)
		docker compose down
		;;
	*)
		echo "Неизвестная команда"
		;;
esac

Всё! Ничуть не сложнее обычного Makefile который обычно для такого используется! И работать будет вот совсем везде! :)

гиковскоеlinux

Пара мыслей о Plan9