Makefile - это простой текстовый файл, который определяет, как сделать «цели» с помощью набора «зависимостей» с помощью набора действий.Цели - это объекты слева с «:», после них зависимости находятся на остальной части этой строки.Последующие строки с отступами - это действия, которые должны сделать цель.
Так, например, в вашем случае с LaTeX файл .pdf является вашей конечной целью, и это зависит от вашего файла .tex.Так что есть действие, которое запускает pdflatex.Сам по себе .tex создается из файла .Rnw, поэтому есть еще одно правило для создания foo.tex из foo.Rnw с помощью Sweave.
Прелесть make в том, что она проверяет временные метки на зависимостях.Первоначально он предназначался для компиляции больших программ на Си, разделенных на множество файлов.При компиляции окончательной программы нет смысла перекомпилировать все .C, которые вы не изменили, поэтому ваш Makefile просто скомпилирует измененные файлы .C и свяжет все файлы .o в исполняемый файл.
Make имеетМы использовали возможности, выходящие за рамки этой первоначальной схемы, до такой степени, что стали доступны новые решения для автоматической сборки, поэтому вы можете увидеть упоминания о cmake, ant, maven и множестве других вещей.Я не знаю, какая из них половина.