Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Пользуясь сайтом, вы даете согласие на использование данной технологии.
Скрещиваем Docker, Makefile и gcc • C • Live coding
Как запустить Docker из Makefile? Как (и зачем) организовать проброс целей в контейнер? Что делать, если переменных в Makefile слишком много? И почему gcc на Mac'е — не то, чем кажется? Таймлайн: 00:00 Сегодня будет C и продолжение темы шаблонов 01:22 Обзор: зачем нужны типовые решения в проектах 02:26 Проблема разных целей make в dev-среде и в Docker 04:00 Как вызывается make внутри Docker 06:09 Пробрасываем цель make внутрь контейнера 07:14 Пример: make all вызывает docker с нужной целью 08:06 Ошибки при запуске Docker из Makefile 11:02 Как заставить Docker работать внутри Makefile 12:26 Команда работает, но выглядит ужасно 13:15 Использование шаблонных целей в Makefile 14:29 Проверка: make run, make clean — работают через Docker 15:02 Более читаемый формат шаблонов целей 16:41 Избавляемся от лишних сообщений в выводе 17:08 Использование переменных для make-параметров 18:01 Оборачиваем docker run в переменную 18:45 Все переменные — в одно место, например config.mk 20:57 Переменные мешают читать makefile — что делать? 21:18 Перенос переменных в config.mk 22:57 Проверка: всё работает, переменные отделены 24:06 Добавляем цель для вывода всех переменных 25:56 Композиционная цель desk config для диагностики 27:13 Выводим настройки компилятора 29:32 Комментарии внутри целей Makefile 30:06 Разделение флагов для компиляции и линковки 31:06 Объяснение флага -g и его роль 31:42 Почему компилятор стоит задавать через переменную 32:43 Проблема GCC и Clang на Mac — будьте осторожны 33:20 Финальная проверка: всё ли выводится 33:44 Пора заканчивать: выводы и планы на следующий выпуск Конспект на Github: