2011年10月10日

[linux-users: 108844] make command

早間です。

下記のように make のターゲットのファイル名に = がある場合

filea : filea=fileb
cp -p filea=fileb filea

いつ頃までか覚えていませんが

= を \= と書き換えると動いていました。

filea : filea\=fileb
cp -p filea=fileb filea

ある時これではエラーになったので = を \075 に置き換えました。

filea : filea\075fileb
cp -p filea=fileb filea

2011/09 にコンパイルした版ではmake-3.82-r1(gentoo)では \075 も使用
できなくなりました。
\075 をそのままファイル名として扱うのでファイルが存在しないことになります。
しかも filea=fileb では make がエラーとなります。
同じ文字列の解釈が場所によって異なるのです。

何かご存じありませんか。

今は、Makefile に
EQU = \=
と指定し

filea : filea$(EQU)fileb
cp -p filea=fileb filea

としています。
感じでは makeの Makefile 読み込みが変わってきているようです。

-- 早間
_______________________________________________
linux-users mailing list
linux-users@xxxxx
http://listserv.linux.or.jp/mailman/listinfo/linux-users


投稿者 xml-rpc : 2011年10月10日 15:03
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/106781
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。