Альтернативное использование для make-файлов - PullRequest
3 голосов
/ 08 октября 2010

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

Для небольшого примера у меня есть скрипт, который запускается ежедневно, и он может обновлять или создавать некоторые файлы * .csv.gz.в каталоге, основанном на некотором просмотре веб-страниц;все сжатые файлы должны быть объединены в один файл, и, если есть новые файлы, очевидно, что необходимо запустить процесс консолидации.
В моем случае, следующий make-файл выполняет свою работу:

consolidation: datasummary.pcl

datasummary.pcl: *.csv.gz
    consolidate.py

Задание cron запускает процесс обновления, а затем make consolidation;если файл datasummary.pcl старше любого файла *.csv.gz, запускается consolidate.py.

Меня очень интересуют идеи необычного (то есть не компиляции исходного кода) использования make-файла.Какие еще интересные примеры использования make-файла вы можете привести?

Давайте предположим, что мы поговорим о GNU make;в противном случае, пожалуйста, укажите версию.

Ответы [ 2 ]

1 голос
/ 09 октября 2010

В системе, которую я администрирую на работе, мы используем make-файл и некоторые скрипты для генерации конфигурационных файлов для загрузки named, dhcpd и pxe.Входной файл имеет вид:

ipaddr           name         alias1 alias2    #  model os      printer

, например:

192.168.0.1      battledown   nfs dns ldap     #  x3550 RHEL5u4 brother-color

Затем у нас есть make-файл, который запускает этот входной файл через различные сценарии для генерации соответствующих конфигураций.Затем он перезапустит все демоны, чьи конфиги были изменены.

1 голос
/ 08 октября 2010

Я помню, что видел несколько лет назад что-то о загрузке систем Linux с использованием Makefiles. Отдельные системные компоненты были установлены как цели, и make сначала загрузит зависимости, как это делает make. Я считаю, что они получили впечатляющие скорости загрузки из этого. Вот что привело к загрузке на основе зависимостей в Debian / Ubuntu.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...