Использование Make для создания DPKG .debs всегда перестраивает, а не когда файлы изменились - PullRequest
1 голос
/ 17 февраля 2012

Это немного странно, и я уверен, что упускаю что-то совершенно простое.

Я пытаюсь сократить время, затрачиваемое на сборку, частично перестраивая набор используемых нами .debs, что происходит каждый раз, когда мы меняем аспект системы из-за того, как работает сценарий ant. был настроен. Я надеялся использовать Makefiles для мониторинга папок, которые будут использоваться для процесса dpkg, поэтому воссоздаются только каталоги, в которых были последние изменения, но:

build-printing:
               fakeroot dpkg -b printing printing.deb

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

1 Ответ

0 голосов
/ 17 февраля 2012

Ваше правило печати сборки ни от чего не зависит - сообщите ему, в каких файлах он должен смотреть метки времени, например:

build-printing: directory/myfile.src
        ....

приведет к тому, что печать сборки будет выполняться только в том случае, если метка временина directoy / myfile.src новее, чем отметка времени сборки печати.Поскольку правило не выглядит так, как будто оно создает печать сборки как файл, вы, вероятно, захотите переименовать его, чтобы оно соответствовало выходному файлу, например ...

printing.deb: directory/myfile.src
        ....

Если вы хотите использовать правилос именем build-printing вы можете либо сделать это правило касающимся файла, называемого build-printing, либо сделать это правило зависимым от printing.deb.

...