ExtUtils::MakeMaker を使用して、PM ファイルと実行可能ファイルで構成される perl モジュールを配布しています。
実行可能ファイルは構成ファイルをロードする必要があります。
Makefile.PL を次のようにします。
- 構成ファイルを生成します。
- 正しい PREFIX にインストールします。
- 実行可能ファイルを変更して、構成ファイルの実際のパスを設定します。
しかし、私はこれを行う方法がわかりません。
ExtUtils::MakeMaker を使用して、PM ファイルと実行可能ファイルで構成される perl モジュールを配布しています。
実行可能ファイルは構成ファイルをロードする必要があります。
Makefile.PL を次のようにします。
しかし、私はこれを行う方法がわかりません。
これは 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を使用するときです。