トップ(最新)

nDiki : pl2bat

スポンサード リンク

Related term

2004年11月25日 (木)

nmake で毎回 pl2bat されるのを何とかしたい このエントリーを含むはてなブックマーク

EXE_FILES でインストールするスクリプトを指定してある Makefile.PLActivePerl 上で実行して nmake をかける。 また nmake する。

するとソースを書き換えてないにもかかわらず、EXE_FILES指定ファイルの blib/script へのコピーと pl2bat の実行が行われる。 嫌な感じ。

追いかけてみると

  • UNIX上の場合 FIXIN *1blib/script にコピーされたスクリプトを上書きするため更新時刻が変更され、次の make では最新と判断される。
  • Windows上の場合 FIXIN *2blib/script にコピーされたスクリプトからバッチファイルを生成する。このためコピーされたファイルの更新時刻は、ソースと同じのまま。依存関係で指定されている Makefile の方が新しいので次の nmake でも同じ処理が繰り返される。

というわけ。コピーした後 touch するようにすればよい。

 perl -MExtUtils::Command -e touch %1
 pl2bat %1

という内容の touchpl2bat.bat を作って

 nmake FIXIN=touchpl2bat

とすればきちんと更新時刻が反映されビルドは1回だけになる。 毎回指定するのは面倒なので、MSWin32 なら自動的にそうするようにパッケージングしたいのだが nmake で他にうまく FIXIN を上書きする方法がみつからず (MY::postamble で書き出しても、WriteMakefile(macro => {FIXIN => 'touchpl2bat'}, ...) しても駄目)。


[ ExtUtils::MakeMaker ]

*1= perl -MExtUtils::MY -e "MY->fixin(shift)"

*2= pl2bat

スポンサード リンク


[ 11月25日全て ]

■よく検索されるキーワード

perl(62) torrent(54) linux(48) 提案書(47) windows(43) 書き方(41) 使い方(29) アジェンダ(26) x31(25) 充電式カイロ(25) cvs(22) インストール(20) サンプル(20) thinkpad(19) アジェンダとは(19) f-01a(18) wiki(17) c#(16) 感想(16) カイロ(16) usb(16) java(16) 秋葉原(15) debian(15) ヨドバシカメラ(15) subversion(15) 壁紙(15) 作り方(15) 静電気(14) apache(14) グッズ(14) デロンギ(13) フリー(13) sh-01a(13) ganttproject(13) 修理(13) ssh(12) svn(12) ヨドバシ(12) truecrypt(12) ダイソー(11) 手帳(11) activeperl(11) ubuntu(11) ほぼ日手帳(11) firefox(10) mew(10) mp980(10) ドラマ(10) 日本語(10) n-01a(10) google(10) tc-1(10) 評判(10) ツール(10) djunit(9) cgi(9) 動画(9) mp3(9) オイルヒーター(9) docomo(9) rcs(9) 除去(9) centos(9) メモリ(9) エネループ(9) 設定(9) p-01a(9) tortoisesvn(9) 無印(8) ケース(8) 口コミ(8) ミノルタ(8) メール(8) インストーラ(8) 会議(8) xampp(8) 加湿器(8) af(7) 値段(7)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 15.230427s / load averages: 0.21, 0.25, 0.22
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)