Что на самом деле делает dmake при установке нового модуля? - PullRequest
2 голосов
/ 06 мая 2010

Мне удалось установить модуль perl / Tk после долгой борьбы.Я понимаю, что не понимаю, что на самом деле делает dmake или make и т.д.perl makefile.pl, который работал нормально.Тогда я попробовал dmake, который не работал.Я думаю, это будет очевидно для людей, которые знают, как это работает.

Когда я поместил модуль в подкаталог C: \ strawberry, я мог запустить perl makefile.pl, dmake, dmake test и dmake install,

Я предполагаю, что dmake install добавляет некоторые исполняемые файлы в интерпретатор, и для работы модуль должен находиться в подкаталоге.Есть ли где-нибудь статья, которая объясняет, что она делает в деталях?

Ответы [ 2 ]

5 голосов
/ 06 мая 2010

Когда вы видите файл Makefile.PL, это означает, что это модуль, который устанавливает систему ExtUtils :: MakeMaker .

EU :: MM - это классическая система для установки модулей Perl, восходящих к началу CPAN. Он основывался на том факте, что программа make - общий и мощный инструмент отслеживания зависимостей - был доступен практически на всех системах Unix, а также на всевозможных шаблонах и поведениях Unixy.

Makefile.PL - это Perl-скрипт, поддерживаемый автором модуля. Он читает информацию о вашей системе из самого Perl и использует ее для создания Makefile. Этот Makefile инструктирует make о действиях, которые нужно выполнить. Для получения дополнительной информации о make, проверьте Страница Википедии на Make . По сути, то, что make делает, это смотрит на правила, которые сообщают ему, какие файлы «создавать». Он рекурсивно просматривает все правила для создания «цели» (например, когда вы ввели make install, «install» была целью), а затем следует им до тех пор, пока (а) не достигнет цели или (б) не произойдет ужасный взрыв. Мы все надеемся на (а), но (б) также часто имеет место. :)

К сожалению, в Windows-land у нас нет make. Или компилятор. Обычно в любом случае.

dmake - это make программа, которая работает довольно хорошо в Windows. Strawberry Perl упаковывает все, что вам нужно для создания Unix-подобной среды в Windows, в удобный пакет, делая то, что вы только что сделали, на самом деле возможным.

2 голосов
/ 06 мая 2010

Возможно, ваш вопрос воспринимается слишком буквально, но dmake имеет опцию -v (для подробный )

dmake -v

dmake -v <i>target</i>

, которая будет отображать информацию о том, что именно dmake делает во время установки.

...