echo -n 'targets = $(subst .png,.jpg,$(wildcard *.png))\n$(targets):\n convert $(subst .jpg,.png,$@) $@ \nall : $(targets)' | make -j 4 -f - all
Команда «make» используется для автоматизации процесса сборки программного проекта. В данном случае мы передаем содержимое команды в качестве входных данных через конвейер (-f -). Опция «-j» задает количество одновременно выполняемых задач (4 в данном случае).
Пояснение команды:
— При помощи «echo» передается текст с правилами сборки в формате Makefile, который содержит три правила: «targets», «all» и правило для каждого файла в списке «targets».
— Ключ «-n» удаляет символ новой строки, чтобы текст был корректно обработан make.
— После передачи текста через конвейер, make запускает процесс сборки, выполняя правило «all» и все зависимые от него правила.
Возможная альтернатива: можно создать файл с правилами сборки Makefile и передать его в make, вместо использования конвейера.
Аргументы команде: нет.