2010-05-05 16 views
2

J'ai juste mangé pour installer le module Perl/Tk après beaucoup de lutte. Je réalise que je ne comprends pas ce que dmake ou make etc fait réellement. J'utilise fraise perl installé à C: \ fraise. Fisrt J'ai décompressé le module dans un autre répertoire et j'ai exécuté perl makefile.pl qui a bien fonctionné. Puis j'ai essayé dmake qui n'a pas fonctionné. Je suppose que cela sera évident pour les gens qui savent comment cela fonctionne.Que fait réellement dmake lors de l'installation d'un nouveau module?

Lorsque j'ai placé le module en tant que sous-répertoire de C: \ strawberry, j'ai pu exécuter perl makefile.pl, dmake, dmake test et dmake install.

Je suppose que dmake install ajoute des fichiers exécutables à l'interpréteur et que le module doit fonctionner dans un sous-répertoire. Y a-t-il un article qui explique ce qu'il fait en détail?

+0

Oi! Genre de ronds-points, mais qu'avez-vous dû faire pour installer Tk sur Strawberry Perl? –

+0

En outre, quelle version de SP et Perl utilisiez-vous? –

+1

ActiveState Perl est probablement la meilleure distribution perl sur Windows. Ils développent également activement TCL/Tk donc je parierais que l'intégration tk est bien meilleure. –

Répondre

5

Lorsque vous voyez un fichier Makefile.PL, cela signifie que c'est un module dont le système d'installation est ExtUtils::MakeMaker. EU :: MM est le système classique pour installer des modules Perl datant de l'aube du CPAN. Il reposait sur le fait que le programme make - un outil de suivi des dépendances commun et puissant - était disponible sur presque tous les systèmes Unix, tout en s'appuyant sur toutes sortes de modèles et de comportements Unix. Makefile.PL est un script Perl que maintient l'auteur du module. Il lit les informations sur votre système à partir de Perl lui-même et l'utilise pour créer un Makefile. Ce Makefile indique make sur les actions à effectuer. Pour plus d'informations sur make, consultez The Wikipedia page on Make. Essentiellement cependant, ce que fait make est de regarder les règles, qui lui disent quels sont les fichiers à 'faire'. Il regarde récursivement toutes les règles pour créer la 'cible' (par exemple, quand vous avez tapé make install, 'install' était la cible) puis les suit jusqu'à ce que (a) il atteigne la cible ou (b) explose horriblement. Nous espérons tous (a), mais (b) est souvent le cas aussi. :)

Malheureusement, dans Windows-land, nous n'avons pas de marque. Ou un compilateur. Habituellement, de toute façon.

dmake est un programme make qui fonctionne assez bien sur Windows. Strawberry Perl empaquette toutes les choses dont vous avez besoin pour construire dans un environnement unix-like sur Windows dans un paquet pratique, rendant ce que vous venez de faire réellement possible.

2

Cela peut prendre votre question trop littérale, mais dmake a une option -v (pour bavard)

dmake -v

dmake -v target

qui affiche des informations sur exactement ce que dmake est fait pendant une installation.

+0

Je suppose que je le ferai la prochaine fois cherchait une explication de plus haut niveau à ce stade. –