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 に移したほうがメンテナンスしやすいな、 と最近思っています。