私のプロジェクトは、約 12 個のコンポーネントで構成されており、これらの各コンポーネントのソース コードは、メイン ソース コード ディレクトリの下の独自のサブディレクトリにあります。コンポーネントの多くは、他のコンポーネントのヘッダー ファイルを使用します。私は、これらのヘッダー ファイルがすべて 1 つのinclude/
ディレクトリで利用できるように調整しようとしています。これが悪い考えである場合、またはあるコンポーネントのヘッダーを別のコンポーネントで簡単に利用できるようにするためのより良い方法がある場合は、今すぐ止めてください。
include/
コンポーネントのビルド後にコンポーネントのヘッダーをコピーするのは簡単cp *.hpp ../include
です。makefile でうまく機能します。しかしmake clean
、個々のコンポーネントで実行すると、他のコンポーネントを削除せずに、そのコンポーネントのヘッダーを削除したいと考えていますinclude/
。私が知る限り、これは、次のように、makefile の「削除」コマンドでコンポーネントのヘッダー ファイルのリストを維持する必要があることを意味します。
clean:
rm -fv ../include/header1.hpp ../include/header2.hpp ...
このリストの維持は手作業であり、自動化したいと考えています。同じヘッダーの新しいバージョンが所定の位置にコピーされる前に、コピーされたヘッダーに依存するコンポーネントがビルドされると問題が発生することが予想されるため、これを正しく行いたいと考えています。問題の診断には非常に時間がかかります。
別のディレクトリにあるヘッダーのリストをクリーンアップするメイクファイルを取得するにはどうすればよいですか? または、ヘッダー ファイルを同じプロジェクト内の他のコンポーネントで使用できるようにするためのより良い方法はありますか?