[#21338] $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

21 messages 2003/09/04
[#21346] Re: $SAFE=4 での autoload — nobu.nakada@... 2003/09/04

なかだです。

[#21359] Re: $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...> 2003/09/05

永井@知能.九工大です.

[#21419] Makefile.inのlex.c — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

15 messages 2003/09/28

[ruby-dev:21425] Re: Makefile.inのlex.c

From: WATANABE Hirofumi <eban@...>
Date: 2003-09-28 16:48:46 UTC
List: ruby-dev #21425
わたなべです。

Yukihiro Matsumoto <matz@ruby-lang.org> writes:

> |OpenBSD 3.3のmakeだとsrcdirと別のディレクトリでmakeすると
> |lex.cを作ろうとして一度とまってしまったので、$(srcdir)/lex.cに
> |変更した方が良いのではないでしょうか?
> 
> 「とまってしまった」のがどうとまったのかわからないのですが、

デフォルトではgperfがインストールされてないからエラーになる
という意味です。本来ならVPATHがあるからlex.cを作らないと思う
んですが、OpenBSDとFreeBSDのmakeはターゲットはVPATHを見ない
ようです。NetBSDのmakeはGNU makeと同じで、VPATHが有効になり
ます。

% mkdir ruby
% touch ruby/keywords; sleep 1; touch ruby/lex.c
% mkdir tmp
% cd tmp
% cat >Makefile
VPATH = ../ruby
lex.c: keywords; @echo '$@ $>'
% make
と実行すると、NetBSDは
`lex.c' is up to date.
となり、OpenBSDとFreeBSDは
lex.c ../ruby/keywords
となります。touch ../ruby/keywordsするとNetBSDは
../ruby/lex.c ../ruby/keywords
となるので、VPATHが有効になってるのがわかります。

> 別ディレクトリでmakeしている場合には新たに生成するファイルは
> 元のディレクトリに作ってはいけないんではないでしょうか。パー
> ミッションがない場合もありますし。

だとするとconfigureはsrcdirに作るようにMakefile.inに書かれて
いるのでまずいですね。

-- 
わたなべひろふみ

In This Thread