共有ライブラリを変更しています。ディレクトリの内容を新しい兄弟ディレクトリにコピーし、ライブラリ全体で Make を実行しました。ただし、次のエラーが表示されます。
Make: *** No rule to make target /opt/orchestra/tests/ToolsNew/Makefile’, needed by ‘Makefile’. Stop.
問題なく作成できるディレクトリのコピーが Make-able にならないのはなぜですか?
少し混乱しました。あなたはへの答えを探しています::
特定のファイルを対象としている Makefile を特定する方法は? または、問題なく作成できるディレクトリのコピーがメイク可能ではないのはなぜですか?
最初の Q : メーカーの新しいコピーのようですが、まだ疑問がある場合は....
コマンドを実行した場所を確認してください .... path 。ファイル名が指定されていない場合、デフォルトで make は現在のディレクトリ (コマンドが実行された場所) で記述子を探します...
また
同じディレクトリに 2 つ以上の同じように見える makefile がある場合、たとえば makefile と Makefile のどちらが使用されたかがわからない場合は、.MAKEFILE_LIST を確認できます。一般的には make であるため、名前とそれらが検索された順序を取得できます。
それを確認する方法 ::
make -p < /dev/null | ティー MAKE_P.TXT
(注意: -p オプションは make のすべての設定を一覧表示します .... ファイルは長くなります)
これは、使用されている記述子 makefile を見つけるのに役立ちます。
2 番目の質問:
あなたの編集から、本当の問題は次のようです: Makefile は現在アクセスできない VM にあるため、Pastebin できません。– RouteMapper 16 時間前
私はコードをチェックインします......呼び出しは次のようになる可能性があります......
cd $(proj_dir) && $(MAKE) ;
ここで古い $(proj_dir) 値、つまり /opt/orchestra/tests/Tools を使用すると、古い Makefile をコピーできなくても使用できます。実行中は、現在の環境設定が使用されます.... ..うまくいくと思います!!
お役に立てれば !!他に必要なものがあれば教えてください。
その理由は、出力で見つけることができます。ファイルについて不平を言っていることに注意してください/opt/orchestra/tests/ToolsNew/Makefile
。基本的に、警告はファイルが見つからないことを示しており、新しいコピーを生成するための Make ルールが定義されていません。
そのファイルが存在することを確認する必要があります。