を作るためにはありませんルール私は2つのCソースファイルを持ち、prog2.c
とgetopts.c
.MY prog2.c
とgetopts.c
ファイルは、各other.Iにリンクされている私の割り当てから、次のメイクファイルを作りました方向:(私はここでシェルされると信じて)、最終的なリンクのために私はefileは、実行可能ファイルがどこにあるgcc -o efile <ofiles>
を使用する必要があるとOFILESはすべて.o
ファイルのリストです:メイク:*** [クリーン]エラー1とターゲット・エラー
OPTS= -g -c -Wall -Werror
efile = shell
ofile = prog2.o getopts.o
all: gcc -0 $(efile) <$(ofile)>
shell: \
prog2.o getopts.o
gcc prog2.o getopts.o -o shell
prog2.o: \
prog2.c
gcc $(OPTS) prog2.c
getopts.o: \
getopts.c
gcc $(OPTS) getopts.c
clean:
rm $(ofile) $(efile)
方向は述べています。その後、make clean
とmake
というコマンドを実行するように指示されました。make clean
コマンドの場合、次のエラーが表示されます。削除できません...ファイルまたはディレクトリのエラーがありません。make:***[clean] Error 1.
make
コマンドを実行すると、次のエラーが表示されます。 'all'が必要とするターゲット 'gcc'を作るルールはありません。やめる。私はいくつかのWebページや同様の質問を行ったが、実際にはそれを取得していない。
'gcc -0 $(efile ...'は次の行にあり、タブが前面に来るようにしてください - ビルドするコマンドではなく、 'all'の依存関係として理解されています。それは '-0'ではなく' -o'でなければなりません – Dmitri
make cleanコマンドでも同じエラーが発生し、makrに対しては次のような新しいエラーが発生します:makeコマンドの予期しないトークンの近くでシンタックスエラーが発生しました –
'<$(ofile)>'の代わりに '$(ofile)'を試してみてください。あなたが指定したファイルが存在しないので、 'make clean'エラーが多分あります。(' rm'だけではなく 'rm -f'エラーが発生しました) – Dmitri