コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2009年11月3日 >>> 2009年10月21日
link もっと後

2009年11月3日

Automakeの不細工な出力

最近はMakefileを自作せずに、GNU Toolchainの勉強も兼ねてGNU Automakeを使ってMakefileを生成しています。大したプログラムでもないのに ./configureとやるのはめんどくさいけど…。

Automakeで作ったMakefileはコマンドの実行履歴が大量に出ます。コンパイラに大量のオプションを渡すのと、そのオプションを全てログとして出力するためです。そのせいでコンパイラの警告やエラーがすっ飛んでいって消えてしまいます。

大量のログを見直すのはつらいです。いちいちスクロールバックしたり、パイプしてページャで見なければならないので、非常に面倒です。

Linuxの簡素な出力

この点優秀なのがLinux Kernel 2.6のビルドスクリプトです。単純にmakeとすると簡潔なログ、make V=1とすると詳細なログが出ます。

Linuxのmakeは以下のようなログが出ます。どのファイルに何をしている(CC, LD, CHKなど)か?だけが表示されます。

Linux Kernel 2.6のmake
$ make
scripts/kconfig/conf -s arch/x86/Kconfig
  CHK     include/linux/version.h
  UPD     include/linux/version.h
(略)
  UPD     include/linux/compile.h
  CC      init/version.o
...

同じ部分の詳細出力(make V=1)は以下のようになります。

Linux Kernel 2.6のmake V=1(80文字折り返し)
$ make V=1
make -f /home/katsuhiro/usr/src/linux-2.6.30/Makefile silentoldconfig
make -f scripts/Makefile.build obj=scripts/basic
mkdir -p include/linux include/config
make -f scripts/Makefile.build obj=scripts/kconfig silentoldconfig
  gcc  -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.
  o -lncurses
scripts/kconfig/conf -s arch/x86/Kconfig
rm -f include/config/kernel.release
echo 2.6.30 > include/config/kernel.release
set -e; : '  CHK     include/linux/version.h'; mkdir -p include/linux/;        (
echo \#define LINUX_VERSION_CODE 132638; echo '#define KERNEL_VERSION(a,b,c) ((
(a) << 16) + ((b) << 8) + (c))';) < /home/katsuhiro/usr/src/linux-2.6.30/Makefil
e > include/linux/version.h.tmp; if [ -r include/linux/version.h ] && cmp -s inc
lude/linux/version.h include/linux/version.h.tmp; then rm -f include/linux/versi
 on.h.tmp; else : '  UPD     include/linux/version.h'; mv -f include/linux/versi
 on.h.tmp include/linux/version.h; fi
(略)
  UPD     include/linux/compile.h
  gcc -Wp,-MD,init/.version.o.d  -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/
4.3.2/include -Iinclude  -I/home/katsuhiro/usr/src/linux-2.6.30/arch/x86/include
 -include include/linux/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototype
s -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-decl
aration -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-
boundary=2 -march=i686 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -DCONF
IG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchro
nous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-stack-protector -
fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement
 -Wno-pointer-sign -fwrapv   -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(
version)"  -D"KBUILD_MODNAME=KBUILD_STR(version)"  -c -o init/version.o init/ver
sion.c
...

普段はmakeのシンプルなログで異常がないかどうかだけをチェックします。ビルドエラーに遭遇したらmake V=1で詳細なコンパイルオプションを眺めて原因を考えます。便利ですねえ。

Automakeではできないの?

良いモノは見習いましょう。Automakeでログを抑制する方法はないのでしょうか?

残念ながら、ネットでちょこっと調べた限りではやり方がわかりませんでした。誰かご存じないですか?

編集者:すずき(2009/11/03 17:43)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2009年11月3日 >>> 2009年10月21日
link もっと後

管理用メニュー

link 記事を新規作成

<2009>
<<<11>>>
1234567
891011121314
15161718192021
22232425262728
2930-----

最近のコメント5件

  • link 21年9月20日
    すずきさん (11/19 01:04)
    「It was my pleasure.」
  • link 21年9月20日
    whtさん (11/17 23:41)
    「This blog solves my ...」
  • link 24年10月1日
    すずきさん (10/06 03:41)
    「xrdpで十分動作しているので、Wayl...」
  • link 24年10月1日
    hdkさん (10/03 19:05)
    「GNOMEをお使いでしたら今はWayla...」
  • link 24年10月1日
    すずきさん (10/03 10:12)
    「私は逆にVNCサーバーに繋ぐ使い方をした...」

最近の記事20件

  • link 23年4月10日
    すずき (11/15 23:48)
    「[Linux - まとめリンク] 目次: Linux関係の深いまとめリンク。目次: RISC-V目次: ROCK64/ROCK...」
  • link 24年11月6日
    すずき (11/15 23:47)
    「[Ubuntu 24.04 LTS on ThinkPad X1 Carbon Gen 12] 目次: Linux会社ではTh...」
  • link 24年11月11日
    すずき (11/15 23:26)
    「[Pythonのテストフレームワーク] 目次: Python最近Pythonを触ることが増えたのでテストについて調べようと思い...」
  • link 24年11月2日
    すずき (11/15 23:25)
    「[Python - まとめリンク] 目次: Python一覧が欲しくなったので作りました。 スクリプト言語始めました(Pyth...」
  • link 20年5月10日
    すずき (11/15 23:24)
    「[Pythonの文字置換APIは変な名前] 目次: PythonPythonの文字列置換は "string".replace(...」
  • link 24年2月7日
    すずき (11/15 23:23)
    「[複数の音声ファイルのラウドネスを統一したい] 目次: PythonPCやデジタル音楽プレーヤーで音楽を聞いていると、曲によっ...」
  • link 13年7月2日
    すずき (11/15 23:22)
    「[スクリプト言語始めました(PythonとRubyでNクイーン問題)] 目次: ベンチマーク目次: Pythonスクリプト言語...」
  • link 23年9月18日
    すずき (11/15 23:22)
    「[一覧の一覧 - まとめリンク] 一覧の一覧、まとめのまとめが欲しくなったので作りました。OS、アーキテクチャ系。目次: An...」
  • link 13年10月1日
    すずき (11/15 23:21)
    「[JetBrains PyCharm 3.0リリース] 目次: PythonPyCharmがメジャーアップデートされ PyCh...」
  • link 22年7月8日
    すずき (11/08 23:28)
    「[マンガ紹介 - まとめリンク] 目次: マンガ紹介面白かった漫画の紹介です。知名度はあまり気にせず紹介します。5作品乙女ゲー...」
  • link 24年10月31日
    すずき (11/04 15:17)
    「[DENSOの最終勤務日] 最終勤務日でした、入門カードや会社のPCを返却してきました。在籍期間はNSITEXE(品川のオフィ...」
  • link 24年10月30日
    すずき (11/02 20:33)
    「[マンガ紹介] 目次: マンガ紹介お気に入りのマンガ紹介シリーズ。最近完結した短めの作品を紹介します。マイナススキル持ち四人が...」
  • link 19年3月28日
    すずき (11/02 13:27)
    「[マンガ紹介] 目次: マンガ紹介お気に入りのマンガ紹介シリーズ。こわもてかわもて(全2巻、2019年)(アマゾンへのリンク)...」
  • link 21年6月20日
    すずき (11/02 13:22)
    「[読書一生分が93万円?] 目次: マンガ紹介書籍通販のhontoがこんなキャンペーンをやっています。honto読書一生分プレ...」
  • link 17年10月27日
    すずき (11/02 13:11)
    「[異世界&最強系漫画の種類] 目次: マンガ紹介少し前にアニメ化されて盛り上がって(おそらく負の方向に…)いた「...」
  • link 24年10月28日
    すずき (10/30 23:49)
    「[Linuxからリモートデスクトップ] 目次: Linux開発用のLinuxマシンの画面を見るにはいろいろな手段がありますが、...」
  • link 24年10月24日
    すずき (10/25 02:35)
    「[ONKYOからM-AUDIOのUSB DACへ] 目次: PCかれこれ10年以上(2013年3月16日の日記参照)活躍してく...」
  • link 24年7月25日
    すずき (10/25 02:24)
    「[OpenSBIを調べる - デバイスツリーの扱い(別方法)] 目次: LinuxOpenSBIのブート部分を調べます。Ope...」
  • link 24年8月7日
    すずき (10/25 02:23)
    「[Debian独自の挙動をするQEMUとbinfmt_misc] 目次: Linux前回はbinfmt_miscの使い方や動作...」
  • link 24年9月9日
    すずき (10/25 02:22)
    「[GDBの便利コマンド] 目次: LinuxGDBは便利ですが、少し使わないでいるとあっという間にコマンドを忘れます。便利&使...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 11/19 01:04