[JM:02643] Re: GNU_which の Makefile

アーカイブの一覧に戻る
Akihiro Motoki amoto****@gmail*****
2021年 7月 6日 (火) 23:38:08 JST


On Tue, Jul 6, 2021 at 10:51 PM matsuand <michio_matsu****@yahoo*****> wrote:
>
> matsuand です。
>
>
> ----- Original Message -----
> > From: Akihiro Motoki <amoto****@gmail*****>
> > To: Linux JM discussion <linux****@lists*****>
> > Cc:
> > Date: 2021/7/6, Tue 22:23
> > Subject: [JM:02639] GNU_which の Makefile
> ...
>
> > 最近追加された manual/GNU_which の Makefile ですが、
> > 最初の1回必ず失敗するのは仕様でしょうか?
>
>
> 1 回というのは、本当に一番最初の 1 回目、ということで
> よろしいですか? つまり、その後に、何回 make を実行しても、
> 一切エラーは出ない、ということですか?

はい、そのとおりです。
2回目以降は何度か make (今回は make translate と同じですね) を実行してみましたが、
期待通り po4a が呼び出されていました。

> > (jm-work) AkihiroMacBookAir:~/.../jm/manual/GNU_which (master $=)$ make
> > /bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
> > /bin/sh: -c: line 1: syntax error: unexpected end of file
> > make: *** No rule to make target `gencfg', needed by `translate'.  Stop.
> > (jm-work) AkihiroMacBookAir:~/.../jm/manual/GNU_which (master $=)$ make
> > po4a -M UTF-8 -k 100  -v --variable langs='ja' \
> >   --previous po4a/which.cfg
> > POT file po4a/which.pot already up to date.
> > Updating po4a/ja.po: 52 個の翻訳メッセージ.
> > release/man1/which.1 is 100% translated (52 strings).
>
>
> いやなエラーです。
> make の処理をこねくりまわしているのが、よくないのかもしれません。
>
> ちなみに、ソーストップディレクトリ配下に ".mk" なる隠しディレクトリを
> 作っていて、そこに "サブMakefile" を動的生成しています。
>
> 想像では、この動的生成がうまく動いてないような気がします。
> 一度、rm -fr .mk した上で make -j1 を行ったらどうなるか、
> 状況をお知らせ頂けますか

実行結果です。
http://paste.openstack.org/show/807195/
さきほどは MacOSX で GNU make を使ったときの結果だったので、
Linux (Ubuntu focal) でもやってみましたが、ほぼ同じ結果でした。
/bin/sh のエラーが1行か2行かの違いなので、エラーには違いないですね。

デバッグしてみようと思いましたが、想像以上に複雑になっていたので、
いったん中断してメールを書きました。

なお、LDP man-pages でも Makefile を頑張って書いていますが、
メンテナンスが面倒なので、変更点の確認だけ make にまかせて
細かいところは shell script に移したほうがメンテナンスしやすいな、
と最近思っています。


linuxjm-discuss メーリングリストの案内
アーカイブの一覧に戻る