- ベストアンサー
makeしてinstallする際の「ターゲットが指定されていない」とはどういう意味ですか?一般的な手順とエラーメッセージの見方
- ソフトウェアをインストールする際に、makeコマンドを使用することがあります。
- 「ターゲットが指定されていない」というエラーメッセージは、makeコマンドの実行時にコンパイル対象のファイルまたはターゲットが指定されていないことを意味します。
- makeコマンドの一般的な手順は、まずコンパイル対象のソースコードをconfigureコマンドで設定し、makeコマンドでコンパイルし、最後にmake installコマンドでインストールすることです。エラーメッセージが表示される場合は、ターゲットの指定やmakefileの存在を確認する必要があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Makefile が作られなかったのなら、./configure の時点でなんらかの エラーを示すメッセージが出ると思うのですが、英語だとだめ? 多分個別のパッケージに関する情報はあっても、一般的なエラーのパターンと その対処という形ではまとめているところはないと思いますよ。 たいがいは必要なヘッダファイルが見つからないとかライブラリがみつからない というパターンだと思いますけどね。 開発ブランチの先端を使いたいとかいうことでなければ、apt とか rpm のようなパッケージ管理システムを使って入れた方がいいと思いますよ。 依存関係もちゃんと見てくれるし。
その他の回答 (2)
- don_go
- ベストアンサー率31% (336/1059)
make コマンドは引数を省略した場合、コンパイルする為の 定義ファイルであるMakefile又はmakefileが指定されたもの として実行します。 ./configure は環境変数等やコンパイルに必要なアプリケー ション、ライブラリ等の有無を読み取って環境に合わせた Makefileの作成を行います。 この時、何らかの条件が合わなかった時、Makefileが作成 されず、以降に実行したmakeにおいて「ターゲットが指定 されていない」(Makefileが無い)となります。 > また、どこかに「ソースからmakeしてinstallする時の、 >一般的な手順と、エラーメッセージの見方」のようなもの >はないでしょうか? 通常はソースと共にREADME またはINSTALL等の名称でインス トール方法を記述したテキストファイルが同梱されています。
Makefileの中身を見ると、下記のような記載がある場合が あります。 -------------------------------------------------- mktest: $(OBJS) Makefile $(FC) $(OBJS) $(LDFLAGS) -o mktest mkgraph: $(OBJS2) Makefile $(FC) $(OBJS2) $(LDFLAGS) -o mkgraph -------------------------------------------------- ここで、mktest, mkgraphはターゲットであり、 make mktest make mkgraph のようにコンパイルをします。 一つのmakefileにおいて、いくつかの種類のプログラムを 別々にコンパイルする時などにターゲットが指定されていたり します。