2

苦労の末、perl/Tk モジュールをインストールしました。dmake や make などが実際に何をしているのか理解していないことに気づきました。

C:\strawberry にインストールされたイチゴの perl を使用しています。

最初に、モジュールを別のディレクトリに解凍し、perl makefile.pl を実行しましたが、問題なく動作しました。それから私はうまくいかなかったdmakeを試しました。この仕組みを知っている人には明らかだと思います。

モジュールを C:\strawberry のサブディレクトリとして配置すると、perl makefile.pl、dmake、dmake test、および dmake install を実行できました。

私の推測では、dmake install はいくつかの実行可能ファイルをインタープリターに追加しており、モジュールを機能させるにはサブディレクトリにある必要があります。それが何をしているのかを詳細に説明している記事はどこかにありますか?

4

2 に答える 2

5

Makefile.PLファイルが表示されている場合、それはシステムをインストールするモジュールがExtUtils::MakeMakerであることを意味します。

EU :: MMは、CPANの黎明期にさかのぼるPerlモジュールをインストールするための古典的なシステムです。それは、プログラムmake(一般的で強力な依存関係追跡ツール)がほぼすべてのUNIXシステムで利用可能であり、あらゆる種類のユニキシーパターンと動作​​に依存しているという事実に依存していました。

Makefile.PLは、モジュールの作成者が管理するPerlスクリプトです。Perl自体からシステムに関する情報を読み取り、それを使用してMakefileを作成します。このMakefileはmake、実行するアクションを指示します。詳細についてはmakeMakeのWikipediaページをご覧ください。ただし、基本的には、makeどのファイルを「作成」するかを指示するルールを確認します。すべてのルールを再帰的に調べて「ターゲット」を作成し(たとえば、make installと入力した場合、「install」がターゲットでした)、(a)ターゲットに到達するか、(b)ひどく爆発するまでそれらに従います。私たちは皆、(a)を望んでいますが、(b)もよくあることです。:)

残念ながら、Windowsランドでは、makeがありません。またはコンパイラ。通常、とにかく。

dmakemakeWindows上でたまたまうまく動作するプログラムです。Strawberry Perlは、Windows上のUNIXライクな環境で実際に構築するために必要なすべてのものを便利なパッケージにパッケージ化し、実際に実行したことを可能にします。

于 2010-05-06T00:19:08.073 に答える
2

これはあなたの質問を文字通りに解釈しすぎているかもしれませんdmakeが、-vオプションがあります(verboseの場合)

dmake -v

dmake -v target

dmakeインストール中に何が行われているかについての正確な情報が表示されます。

于 2010-05-06T03:01:07.753 に答える