Руководство по современному Make

Прежде чем пилить проект, наточи пилу!


– Что говорит кошка, когда хочет кушать?
– Мяу!

– Что говорит собака, когда чует опасность?
– Гав-гав!

– А что говорит Вова когда хочет задеплоить проект?

ansible-playbook -i inventory/production --tags "deploy" app-server.yml -vvv --become-user=app --extra-vars=extra.txt --vault-password-file="~/.ansible/vault.txt"


Такие штуки незаметно отъедают ваше рабочее время и мозготопливо

12 минут в день на рутину == 4 часа в месяц == ~1.5 рабочих недели в год


Make позволяет нарулить себе библиотеку команд-шорткатов, которые будут отражать семантику происходящего, а не реализацию:

make deploy, make logs, make feature resubscription

Makefile хранится в основном репозитории вместе с кодом и становится живой документацией по частоиспользуемым при разработке командам.


О, камон, Make - это же что-то очень древнее! Где ты это выкопал вообще?
Я помню два года назад что-то собирал из сорцов мэйком. Разве он годится для чего-то еще?
Слушай, я же не на сях пишу чтобы что-то там билдить. У меня уже есть npm/rake/maven, какой мне еще мэйк?

Примерно так я думал, пока не разобрался в вопросе.

По факту Make – это такой универсальный клей между кучей технологий используемых в современной разработке. У него минимальный оверхед по сравнению со специфичными для языков инструментами.

Голосование в твиттере доказывает что с вероятностью в 75% вы не используете Makefile в своих проектах:

Если это так, значит что у вас сейчас есть возможность потратив пару часов, сэкономить себе в будущем гораздо больше времени.

Сейчас для меня Make стоит в одном ряду с Ansible, Docker и GitLab CI.
Это добротный универсальный, по-хорошему хипстерский инструмент для упорядочивания хаоса в рабочих скриптах на проекте.

Make всем хорош, но его официальная документация чересчур подробна, и, видимо, рассчитана на сисадминов-сишников, думающих на bash. Пробиться через неё без специальной подготовки нереально – слишком много специфики и деталей далеких от нужд современного разраба.

Поэтому я запилил мини-руководство по полезным для современного разраба фишкам Make. Получилось так:

Официальная документация:

7500 строк

Выжимка актуальной годноты:

500 строк

На самом деле вам не нужно читать и их :)


Как же так?
Что же делать?

1. Чтобы понять основную идею использования Make и базовые правила, посмотрите ролик от Хекслета ▶️ (8.5 минут на полуторной скорости).

2. Если решили применить Make на практике, то вам пригодится дока по основным фишкам и особенностям настройки Makefile.

3. Если в стремлении навести порядок вы решили идти до конца, то для вас есть расширенная версия с примером построения цельного workflow для dev/staging/production-окружений.


Руководство по современному Make

1. Making your library of shortcuts
2. Overcoming Make weirdness
3. Multiple commands at once
4. Subcommands
5. Aliases
6. Multiline commands
7. Suppressing output
8. Conditional execution
9. Passing arguments


10. Advanced scripting
11. Putting things in order
12. Naming conventions
13. Full workflow automation
14. Guiding principles


← Это еще дописывается

Всё выглядит слишком просто?!
Жмите на специальную ссылку для самых умных ;)


💌Сорян!

Полная версия еще не готова.
Подпишитесь, и пришлю вам письмо, как только так сразу:


Введение в Make


Похоже, дело говорят.
Что же делать?
Неужели придётся качать PDF-ку?


Руководство по современному Make

1. Making your library of shortcuts
2. Overcoming Make weirdness
3. Multiple commands at once
4. Subcommands
5. Aliases
6. Multiline commands
7. Suppressing output
8. Conditional execution
9. Passing arguments


10. Advanced scripting
11. Putting things in order
12. Naming conventions
13. Full workflow automation
14. Guiding principles


← Это еще дописывается


Наточил пилу сам?
Помоги другому!

Пошли ссылку коллеге, или расскажи про Make в соцсеточках: http://makefile.site


P.S. Еще можно прислать пулреквест или создать тикет:
github.com/inem/make-handbook

Ок ок!

Постараюсь запилить поскорее. Будем на связи.


🤫Пссст...

Тут в общем есть еще всякая годнота:

🙌Дай пять!

Кстати, PDF-ки можно не только скачивать. Еще их можно читать!
На сегодня, думаю, хватит пары страниц!

Если не скачалось, жми сюда:


🤫Пссст...

Тут, в общем, есть еще всякая годнота:

Или КУПИТЬ полную версию за $11.99

Побаловать себя по полной! Гулять так гулять!
Сегодня можно! Живем один раз в конце концов!

↓ Побаловать себя по полной ↓ Гулять так гулять ↓
↓ Сегодня можно ↓ Живем один раз в конце концов ↓

Если кнопка не работает: gum.co/makefile-ru