[linux-users: 108844] make command

早間義博 yossi @ yedo.src.co.jp
2011年 10月 10日 (月) 15:03:23 JST


早間です。

下記のように 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 メーリングリストの案内