[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:13584] Re: USAGI on Plamo



小野@名古屋大学 です.

<20020403.163844.846934744.z1980163@zenrin.co.jp>の記事において
jado@flowernet.gr.jpさんは書きました。
jado> > 問題が抽出できたのですが、
jado> > 私は大変なFAQでハマッているようにも思います (^^);
jado> 手元で追試してみました。
同じく手元で追試してみました.

原因は make を実行するときに環境変数 GZIP が存在するからだと思い
ます.

gzip は実行時に環境変数 GZIP の値を参照して, コマンドラインに与え
られた引数の前に挿入します. つまり,
gzip args
というコマンドラインは実質的に
gzip $GZIP args
という引数で実行することになります.

さて, make を実行するときに環境変数 GZIP が設定されていると
Makefile の中で設定される変数 GZIP も自動的に環境変数になります.
今回 Makefile の中で
GZIP = ./gzip
としていますから, Makefile の中で ./gzip ./text とやるとこの gzip
には環境変数 GZIP の値として ./gzip が与えられます. その結果
$(GZIP) $(TEXT)
というコマンドは
./gzip ./gzip ./text
としているのと同じことになります.

これに対して make を実行するときに GZIP を環境変数として設定して
いないと Makefile の中で変数 GZIP に値を与えても環境変数になりま
せん. 従ってその場合には問題なく実行されることになります.

jado> > test:
jado> > 	ls -l gzip* text*
jado> > 	echo "abcdefg012345" > $(TEXT)
jado> ls の時点で、なぜか
jado>     ls: text*: そのようなファイルやディレクトリはありません
jado> と言われて異常終了してしまうので、上記2行は入れ替えました。
jado> # 理由はかなり謎
最初に text* にマッチするファイルがないからですね.
-- 
名古屋大学 工学部 電子工学科 平田研究室
小野 孝男

Follow-Ups
[plamo:13585] Re: USAGI on Plamo, Shun-ichi TAHARA (田原 俊一)
[plamo:13586] Re: USAGI on Plamo, Yoshinori Ariie
References
[plamo:13583] Re: USAGI on Plamo, Shun-ichi TAHARA (田原 俊一)

[検索ページ] [メール一覧]
Plamo ML 公開システム