2

ExtUtils::MakeMaker を使用して、PM ファイルと実行可能ファイルで構成される perl モジュールを配布しています。

実行可能ファイルは構成ファイルをロードする必要があります。

Makefile.PL を次のようにします。

  • 構成ファイルを生成します。
  • 正しい PREFIX にインストールします。
  • 実行可能ファイルを変更して、構成ファイルの実際のパスを設定します。

しかし、私はこれを行う方法がわかりません。

4

1 に答える 1

3

これは Makemaker が本当に苦労するところです。でこれを行う方法を知っている必要がありますmake

まず、Makefile.PLはただの Perl プログラムなので、何でも好きなようにできます。

次に、実際のファイルを生成するために実行するプログラムとして.PLファイルを使用できます。たとえば、lib/Module.pm.PLを持つことができます。ビルド時に、システムはそのプログラムを実行し、出力を使用してblib/lib/Module.pmを作成します。のドキュメントを参照してくださいPL_FILES

第 3 に、タスクをmakeターゲットに追加して、処理が適切なタイミングで行われるようにすることができます。二重コロンのターゲットは、既に定義されているタスクに追加されます。

 all ::
      perl create_config.pl > config.pl
      install ... config.pl

これをMakefile.PLからMakefileMYに追加するには、名前空間に特別なサブルーチンを追加する必要があります。それはすべて Makemaker で文書化されていますが、ドキュメントはあなたが に慣れていることを前提としていますmake

しかし、その方法を知っていたとしても、それはすべて本当にお尻の痛みです. あなたはそれを理解したと思いますが、誰かが別のセットアップまたは別の種類のmake. どこでも互換性を持たせるために、手間のかかるビットにすべての時間を費やします。これは、Perl の神々がModule::Buildを発明した主な理由の 1 つです。カスタム処理の追加とビルド ターゲットの変更ははるかに簡単で、すべて Perl で行うことができます。経験則としては、Makemaker でそれを行う方法がわからない場合は、Module::Buildを使用するときです。

于 2012-07-09T13:12:37.850 に答える