アプリ版:「スタンプのみでお礼する」機能のリリースについて

gfortranのmakefileを作成し、"make test"と実行しても成功しません。
どうすればいいのでしょうか?
どこか間違いがあるでしょうか?
下にmakefileを全文載せましたのでアドバイスをよろしくお願いします。

OBJS = main.o tree.o treef.o

test : ${OBJS}
gfortran -c test ${OBJS}


main.fやtree.fやtreef.fのファイルの中身は問題ありません。
他のパソコンではキチンとコンパイルに成功しています。

ちなみに、"make test"と実行して出てくるエラーメッセージが「makefile:3 *** 最初のターゲットより前にコマンドを起動. 中止.」
です。

A 回答 (5件)

> commands commence before first target. Stop



このエラーメッセージで検索すると

"`commands commence before first target. Stop.'(訳:最初のターゲットの前にコマンドが開始されました。停止します。)
`missing rule before commands. Stop.'(訳:コマンド前のルールの欠落。停止します。)
 これはmakefileの最初がコマンドスクリプトの一部になっているようだという意味です。つまりタブ文字で始まっていて(変数式のような)makeで定められたコマンドが見当たらない、という事です。コマンドスクリプトはターゲットに常に関連していなければなりません。 生成される第二の要因は、セミコロンが空白ではない最初の文字として行にある場合で、makeはこれを行の"ターゲット: 依存関係"の項目を省いたと解釈します。"

http://www.ecoop.net/coop/translated/GNUMake3.77 …

というのが見つかります。
本当に、うまくいくPCといかないPCとで同じmakefileですか?

うまくいくのといかないのとそれぞれの環境で

od -t x1 makefile

としたら結果は同じですか?


OSとかディストリというのは、
たとえば CentOS とか Vine Linuxとか、どういう名前のものを
使っているかという確認でした。
うまくいかないPCだけ別のもの使ってるとかはありませんか?

わけわかんなければ

uname -a

ってコマンドをそれぞれのPCで実行して、その結果を比べてください。
    • good
    • 0

UNIX系OSでは"test"という名前のコマンドがあるので、それと


混同している可能性もあります。"test"→"test1"とかに変更
して試されてはどうですか。
    • good
    • 0

すんません。

寝ぼけてました。
カテゴリからすればほぼ間違いなく GNU make ですわな。

ということで、先の補足要求のOSはディストリに読み替えてくださいませ。

この回答への補足

すみません、具体的にどうすればいいのでしょうか?
素人なもので、専門用語とかよくわからないのですが・・・。

補足日時:2008/01/15 14:01
    • good
    • 0

OBJS = main.o tree.o treef.o



test : ${OBJS}
gfortran -c test ${OBJS}

これ、gfortranのオプション間違ってません?
gfortran -o test ${OBJS}
ならわかるんですが。

とりあえずこれはgfortranじゃなくてmakeの問題でしょう。
うまくいくものと、いかないものの環境をそれぞれ書いてください。
とりあえずOSとmakeのバージョンかな。

使っているmakeが違っていて suffix ルールが違うとか。

あ、Unix系のOSを使っているのなら、
LANG=C make test
でメッセージが変わります?

この回答への補足

現在使用しているパソコンが購入したばかりのものであり、うまくいった試しがまだありません・・・。
僕自身も素人でして、専門用語とかよくわからないのですが、具体的にどうすればいいのでしょう?

ちなみに
LANG=C make test とコマンド文を打てばいいのでしょうか?
打ったら「*** commands commence before first target. Stop」 と表示されます。

補足日時:2008/01/15 14:04
    • good
    • 0

う~ん, 英語のメッセージじゃないとわからんなぁ....


ひょっとすると, どこかの行の先頭にこっそりタブ文字が入ってたりしませんか?
... と, 手元の本 (GNU Make) には書いてあった.
    • good
    • 0

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