Ubuntu 10.04を実行しています。 make clean
を実行するたびに、次のようになります:
make:***ターゲットを「クリーン」にするルールはありません。やめる。
ここに私のメイクファイルがあります:
CC = gcc
CFLAGS = -g -pedantic -O0 -std=gnu99 -m32 -Wall
PROGRAMS = digitreversal
all : $(PROGRAMS)
digitreversal : digitreversal.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
.PHONY: clean
clean:
@rm -f $(PROGRAMS) *.o core
なぜ機能しないのでしょうか?
編集:それは次のように思えます:
make -f Makefile.txt clean
動作します。今:毎回-f Makefile.txt
を行う必要がないように変更する設定はありますか?
メイクファイルの名前が「メイクファイル」または「メイクファイル」ではないようです。異なる場合は、「abc」と言って「make -f abc clean」を実行してみてください
私はあなたが今までにそれを理解していると思います。答えは、最初のメール自体に隠されています。
make
コマンドはデフォルトで、入力ファイルとしてmakefile
、Makefile
、およびGNUMakefile
を探し、Makefile.txt
フォルダー内。ファイル拡張子(.txt
)そして動作するはずです。
ファイルの名前がGNUMakefile、makefile、またはMakefileであることを確認してください。
他の名前が付けられている場合(および名前を変更したくない場合)は、以下を試してください。
make -f othermakefilename clean
これは私のために動作します。タブでインデントしますか?
CC = gcc
CFLAGS = -g -pedantic -O0 -std=gnu99 -m32 -Wall
PROGRAMS = digitreversal
all : $(PROGRAMS)
digitreversal : digitreversal.o
[tab]$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
.PHONY: clean
clean:
[tab]@rm -f $(PROGRAMS) *.o core