4

私はstackoverflowを検索してきましたが、私の質問に対する満足のいく答えを見つけることができませんでした.

Miller の論文Recursive Make Considered Harmfulは、コミュニティでよく知られています。基本的に、私は何年もの間、プロジェクトのビルドを管理するために非再帰的な makeを使用してきました。これまでのところ、非再帰的な make に関する私の経験は本当にポジティブなものでした。

他の人に光を当てるために、約 200 万行のコードを含む C++ コード ベースの構築に成功しました。依存関係を正しく管理できました。非再帰的アプローチの優れた点は、並列ビルドを利用できることです。

私は、このレポートのデータが少なくとも 5 つの大規模プロジェクトと一致していることを証明しました。しかし、私は非再帰的な make の makefile を手動で作成/移植してきました。

ご想像のとおり、大規模なプロジェクトの場合、これには多くの作業が伴います。さらに、主要な課題は、新しいチーム メンバーが既存のメイクファイルを理解/変更/デバッグするのが非常に難しいことです。

だから私の質問はこれです: コミュニティの誰かが非再帰的なメイクを行うことができるツール/スクリプトを知っていますが、抽象化のより高いレベルでメイクファイルを管理しますか? 単純な入力仕様から最終的な非再帰的なメイクファイルを生成するためのスクリプトまたはツールを誰かが作成したかどうかを理解したいと思います。

4

1 に答える 1

0

論文を読もうとしていますが、マイナーな変更による長いビルド時間が主な問題のようです。

ビルドシステムは一般的にひどいものですが (私は自分で作るという空想があります)、私は CMake を提案しなければなりません (hyde がしたように)。

完璧ではありませんが、ファイル数が多いプロジェクトではプレーンな make よりも優れています。スクリプト言語はやや醜いですが、make よりはましです。make で手動で記述する多くの内容が抽象化されるため、慣れるまで少し時間がかかりますが、次のことをお勧めします: http://web.cs.swarthmore.edu/~adanner/tips/cmake.php

于 2012-11-15T05:49:13.883 に答える