gnu make のコンソールに表示される言語モードについて質問です。
現在、ubuntu18 GNU Make 4.1 を利用しているのですが、ターミナル(fish)上で make コマンド実施した場合の出力される言語について質問です。
$ set LANG ja_JP.UTF-8
とした場合、make の出力内容は以下の通り「日本語」となります。
$ make --version
GNU Make 4.1
このプログラムは x86_64-pc-linux-gnu 用にビルドされました
Copyright (C) 1988-2014 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 以降
<http://gnu.org/licenses/gpl.html>
これはフリーソフトウェアです: 自由に変更および配布できます.
法律の許す限り、 無保証 です.
$ set LANG en_us
とした場合、make の出力内容は以下の通り英語となります。
$ make --version
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
そこで以下の質問があります。
(1) LANG 環境変数がなぜ make に影響がでるのでしょうか?makeそのものに仕掛けが導入されているのでしょうか?
(2) LANG 環境変数以外にこれらの出力言語をコントールする方法はあるのでしょうか?
(3) 現状 emacs を利用してソースを作成し、make も emacs の compile コマンドで実施しています。ですが、makefile 内にサブmakefileを make -C ... のように指定した場合、エラー発生時のエラー箇所ジャンプが正しく動作しません。具体的には$ set LANG ja_JP.UTF-8 だと以下の様になり、ディレクトリに「入ります」、「出ます」が正しく認識されず、エラー箇所にジャンプできないようです。
ディレクトリ 'xxx' に入ります
ディレクトリ 'xxx' から出ます
念のため、 $ set LANG en_us とすると、以下のようになり、エラー箇所に正しくジャンプすることができます。
Entering directory 'xxx'
Leaving directory 'xxx'
とりあえずは、$ set LANG en_us とすると解決するのですが、本来どのように環境を構築しておくべきなのかお勧め設定等あれば教えて欲しいです。
以上、よろしくお願いいたします。