autotoolsの出力
GNUのautotoolsってそのままだとmakeした時の出力が
... g++ -c -o hoge.o hoge.c ...
とかなってるわけだけど、たまにこの出力がスマートになってるプロジェクトがあったりする。GNOMEの一部とかLinuxカーネルとかvlcとか。
... CXX hoge.o ...
みたいに。この出力にする方法が知りたくていろいろ.inとか読んでるけど、多すぎてピンポイントに探せない。sedとか自前でやらんといかんのかな。
というのも、私がmakefileとか書くとオプションがひどいことになってしまい、すごい勢いでスクロールしていくのでスマートになってくれたほうが読みやすくて嬉しい。
ちなみにⅠファイルのコンパイルがこれぐらいの長さになってしまう。
g++ -DHAVE_CONFIG_H -I. -I.. -g -ggdb -ansi -W -Wall -pedantic -Wshadow -Wcast-qual -Wcast-align -Wundef -Wpointer-arith -Wwrite-strings -Wmissing-format-attribute -Wno-variadic-macros -Wno-overlength-strings -Wsign-compare -O1 -fforce-addr -finline-functions -funroll-loops -fcse-follow-jumps -frerun-cse-after-loop -fexpensive-optimizations -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wno-non-template-friend -Woverloaded-virtual -ffor-scope -fno-gnu-keywords -foperator-names -fstack-check -MT manager.o -MD -MP -MF .deps/manager.Tpo -c -o manager.o manager.cpp
どこのgccだよという勢いでスクロールしてく。
aclocalのm4とかから引っ張ってくる必要があるのかねぇ。
10:39追記:
configure.inに
AM_SILENT_RULES([yes])
でおkだということを知った。スマートだ。
更に06/28 11:43追記:
ubuntu 9.04のautotoolsだとautoconfがエラーを吐く。どうやらマクロが無いらしくconfigureが作られない。そんなときはこう書く。
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
スマートにはならないが、そもそもconfigureが作られないよりましだろう。