From: Takahiro Kambe Date: 2005-11-10T14:38:50+09:00 Subject: [ruby-dev:27669] Re: patch for Makefile.in ----Next_Part(Thu_Nov_10_14_38_49_2005_535)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit In message <4518-Thu10Nov2005142025+0900-eban@os.rim.or.jp> on Thu, 10 Nov 2005 14:20:27 +0900, WATANABE Hirofumi wrote: > これは逆に空白を入れると問題がある環境に対処するためにこうなっ なるほど。 > てます。configure.inで > : ${OUTFLAG='-o '} > AC_SUBST(OUTFLAG) > となっているので空白が入るはずなんですが、ひょっとしてDarwin 変更履歴は、 Make sure that there is always a space between "-o" and its argument when running gcc or ld. This makes the package build on Darwin. とだけあるのですが、 > のmakeはMakefileに > OUTFLAG = -o > のように末尾に空白があっても無視されてしまうんでしょうか? Darwinと言っても、pkgsrcの話なので、NetBSD互換のmakeが使われています。 そして、どうやら4.4BSD以降のmake(pmake)ではそうなるようです。以下で test.mk の最初の行のc の最後にスペースがあります。 taca@reef[140]:cat test.mk ABC= a b c DEF= d e f # This is a comment. GHI= ${ABC} JKL= ${DEF} all: @echo ABC=\"${ABC}\" @echo DEF=\"${DEF}\" @echo GHI=\"${GHI}\" @echo JKL=\"${JKL}\" taca@reef[141]:make -f test.mk ABC="a b c" DEF="d e f" GHI="a b c" JKL="d e f" taca@reef[142]:gmake -f test.mk ABC="a b c " DEF="d e f " GHI="a b c " JKL="d e f " ということは、逆にGNU makeでは、変数の値の後ろに不用意にコメントを書く とスペースが後ろに付いてしまうということにもなりますね。 古いFreeBSD 2.2.8なmakeでも変わらないので、昔(4.3BSD reno)あたりからの 仕様ではないでしょうか。 pkgsrc的には、GNU makeを使うようにするという手もありますが、余分な ものを作成する手間は避けたいところです。 -- 神戸 隆博(かんべ たかひろ) at 仕事場 ----Next_Part(Thu_Nov_10_14_38_49_2005_535)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="test.mk" ABC= a b c DEF= d e f # This is a comment. GHI= ${ABC} JKL= ${DEF} all: @echo ABC=\"${ABC}\" @echo DEF=\"${DEF}\" @echo GHI=\"${GHI}\" @echo JKL=\"${JKL}\" ----Next_Part(Thu_Nov_10_14_38_49_2005_535)----