2012-03-27 11 views
14

を停止し、私はこのエラーを取得しておいてください。make:***ターゲット `all 'を作るルールはありません。

make: *** No rule to make target `all'. Stop. 

私のメイクファイルは次のようになりますにもかかわらず:

CC=gcc 
CFLAGS=-c -Wall 

all: build 

build: inputText.o outputText.o main.o 
    gcc main.o inputText.o outputText.o -o main 

main.o: main.c 
    $(CC) $(CFLAGS) main.c -o main.o 

inputText.o: inputText.c 
    $(CC) $(CFLAGS) inputText.c -o inputText.o 

outputText.o: outputText.c 
    $(CC) $(CFLAGS) outputText.c -o outputText.o 

はいターゲットの下にタブスペースがあるはずですし、私のメイクファイルにあります。

main.o、inputText.o、outputText.oのようなターゲットの1つを試してみても構いませんが、ビルドまたはすべてではできません。

編集:私はちょうどランダムにmakeを実行し、次のコマンドを使用して、それをファイルに言ってみました :

make -f make 

これは動作しますが、なぜ単に作品を作る入力しないのですか?

+0

ここにあるもので再版できません。ファイルに面白い文字がないことを確認してください(コピーしたものをコピーしてスペースをタブで置き換えてください)。 – Mat

+4

あなたのmakefileは、 'make'ではなく' makefile'という名前にする必要があります。 –

+0

@PaulRそれを修正したAhh。私のノートでは、makefileと呼ばれなければならないということはあまりよく説明されていませんでした。 – Dean

答えて

16

あなたのメイクファイルの名前は、ではなく、makefileが理想的です。あなたのメークファイルは好きなものを呼び出すことができますが、見つけたときには-fオプションをmakeとし、メイクファイルの名前を指定する必要があります。 makefileのデフォルト名を使用するだけで、生活が楽になります。

関連する問題