>_ IzzyLab

Практическое задание

Склей зависимости через $^

средне

В /root/proj лежат a.txt, b.txt, c.txt. Напиши Makefile с целью bundle, которая зависит от всех трёх и склеивает их в один файл bundle в том же порядке. В рецепте используй автопеременную $^ (список всех зависимостей), а не перечисляй имена руками.

Что потренируешь:
  • make
  • автоматические переменные
  • $^
  • зависимости цели

Разбор темы

Автоматические переменные make подставляют в рецепт части самого правила, избавляя от дублирования имён. $@ — имя цели, $< — первая зависимость, а $^ — полный список зависимостей через пробел в порядке их перечисления. Опираясь на $^, рецепт всегда работает ровно с тем набором файлов, что указан в prerequisites: меняешь список зависимостей — рецепт подстраивается сам.

Что проверяется

  1. bundle — склейка трёх файлов по порядку
  2. использована автопеременная $^

Как это выглядит