dポイントプレゼントキャンペーン実施中!

Linux CentOS5、ロケールSJISの環境で
makefileの一文の改行としてのバックスラッシュが
そのように解釈されないのか
makefileを実行すると
「gcc: \: そのようなファイルやディレクトリはありません」
というエラーがでます。
具体的には

***ここから***test.mak
SHELL=/bin/csh
INCLUDE_OBJ=\
$(MAK_PATH)/H010.mak \
$(INC_PATH)/COM00C.h

./test.o:./test.c$(INCLUDE_OBJ)
gcc -I/usr/include ./test.c
***ここまで***

という書き方をしてます。
cshです。
ロケールがUTF8のときは問題なく実行できたのです。
回避策をご存知の方がいらっしゃれば
是非ご教示お願い致します。

A 回答 (2件)

細かい話をすると長くなってしまうのですが、


質問者さんがshiftjisのテキストでバックスラッシュとしてつかっている
キャラクタをシステムが円マークとして解釈していて、そのために
makeが行継続の印が見つけられないのかもしれません。

試しに、shiftjisでバックスラッシュと思っているキャラクタを入れた
短いテキストファイルを作って、以下のことを試してみてください。

bash-3.2$ od -t x1 yen.txt
0000000 5c 0a
0000002
bash-3.2$ iconv -f sjis -t utf-8 yen.txt | od -t x1
0000000 c2 a5 0a
0000002
bash-3.2$ iconv -f euc-jp -t utf-8 yen.txt | od -t x1
0000000 5c 0a
0000002

たぶん上のような結果になるのではないかと思います。

この回答への補足

返信ありがとうございます。
はい、そうでした。。。

これはどうしようもないということで、
結局バックスラ改行のところを一行にする変換プログラムを作って
回避しました。。
Perl様様です。

おふたかたありがとうございました。補足遅くなり申し訳ありませんでした。

補足日時:2008/10/27 14:45
    • good
    • 0

Shift-JISの時とUTF-8の時で、改行コードが違う。


ということはありませんか?

この回答への補足

返信ありがとうございます
LFで、一緒なのです。

補足日時:2008/10/27 14:42
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!