2009年03月02日

「make -j N」対策

多分、こんな感じで行けるんじゃないかと。
【追記】
G-HAL 氏にもっとちゃんとした対応をしていただいたので、そちらをお使い下さい(下のコメント欄を参照)。
次回はちゃんと修正したのを出します。
--- Makefile.am.orig	2009-03-02 20:30:28.000000000 +0900
+++ Makefile.am 2009-03-02 20:28:25.000000000 +0900
@@ -29,12 +29,12 @@
mkdepgraph_LDADD = ../src-main/libanthy.la ../src-worddic/libanthydic.la

anthy.dep : mkdepgraph mkdepword $(DEPWORDS)
- $(srcdir)/mkdepword
- -@if test '$(srcdir)' != '$(builddir)'; then \
+ $(srcdir)/mkdepword ;\
+ if test '$(srcdir)' != '$(builddir)'; then \
echo "Copying files..." ; \
cp -p $(srcdir)/master.depword $(builddir)/ ; \
cp -p $(srcdir)/indepword.txt $(builddir)/ ; \
- fi
+ fi ;\
./mkdepgraph $(builddir)

noinst_DATA = anthy.dep \
--- Makefile.in.orig 2009-03-02 20:30:20.000000000 +0900
+++ Makefile.in 2009-03-02 20:28:49.000000000 +0900
@@ -491,12 +491,12 @@


anthy.dep : mkdepgraph mkdepword $(DEPWORDS)
- $(srcdir)/mkdepword
- -@if test '$(srcdir)' != '$(builddir)'; then \
+ $(srcdir)/mkdepword ;\
+ if test '$(srcdir)' != '$(builddir)'; then \
echo "Copying files..." ; \
cp -p $(srcdir)/master.depword $(builddir)/ ; \
cp -p $(srcdir)/indepword.txt $(builddir)/ ; \
- fi
+ fi ;\
./mkdepgraph $(builddir)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

ただ、個人的にはいまいち「-j」の挙動が分からない…。

posted by vagus at 20:58| 東京 ☀| Comment(8) | TrackBack(0) | 日本語入力 - アプリ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
あれ。間に合わなかったかな。
差分の量が多くてここには書ききれませんので、私の web の
anthy-9100h.patch13ptn20.2009225.alt-depgraph-090223.modified-20090301.tar.bz2
に置きました。

要約しますと、「依存関係の記述が省略されているので、依存関係の分解の仕方がわからん」と文句を言っているので、対策としては「依存関係を省略せずに書く」しか無いと思われます。
# 原作版Anthy で記述が省略されているせいで、場合によっては make が通らない方は直していません。

初っ端のディレクトリ分離対応パッチが不完全だったせいで、話をこじらせてしまってすみません。
Posted by G-HAL at 2009年03月02日 23:30
本当にいつもいつもありがとうございます。
もはや、お礼の言葉も見当たりません。

中を拝見させて頂きましたが、大変勉強になりました。
別ディレクトリの「make -j 2」でビルドできることも確認致しました。

> 初っ端のディレクトリ分離対応パッチが不完全だったせいで、話をこじらせてしまってすみません。
いえ、とんでもないです。種を蒔いたのは私なので… orz
Posted by vagus at 2009年03月03日 01:03
%makeでパッケージを作成できるようになりました。
G-HALさん、ありがとうございました。
vagusさんもパッチありがとうございました。
Posted by ut at 2009年03月03日 01:57
パッケージをインストールして変換してみると、
「おもしろいですね」が
「悪も市路位で子禰」になります。
vagusさんのパッチはまだ試していません。
私家版辞書を混ぜているので、
たぶん私の手違いだと思います。
G-HALさんの旧Makefile.*では問題ないです。
Posted by ut at 2009年03月03日 02:12
depgraph/00NOTESを見ながらあれこれ試したところ、
何とかうまくパッケージを作れました。
G-HALさんvagusさんありがとうございました。

> 次回はちゃんと修正したのを出します。
今のままだと使えるひとは少ないと思いますので、
よろしくお願いします。
パッチにパッチが必要なのはあまり良くないです。
Posted by ut at 2009年03月03日 19:58
たびたびすみません。
ファイルを削除してから作業しないといけない状態だとはまる人続出になりそうな事に今更気付いたのと(先程自分ではまった)、どのみち mkdepgraph.c を改造しなければならないのならば indepword.txt や master.depword の所在地も指定する様に改造してしまえば良いではないかと今更気付いたので、その様に変更しました。
日替わりになってしまって申し訳ない。

> 今のままだと使えるひとは少ないと思いますので、
使用していてトラブルに遭遇した際に対処できる技量があるかないかの試金石と言う事でここはひとつ。
Posted by G-HAL at 2009年03月03日 23:28
新しいほうも問題なく動きました。
ありがとうございます。
Posted by ut at 2009年03月04日 00:11
まだ落としただけですが、ありがとうございます。

> 日替わりになってしまって申し訳ない。
いえ、むしろ感謝感謝です。
Posted by vagus at 2009年03月04日 00:30
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。