2008-08-13 9 views

答えて

34

その他の提案:

  • Sconsは、クロスプラットフォーム、クロスコンパイラのビルドライブラリであるPythonがためscruipting使用しビルドシステム。さまざまな大規模なプロジェクトで使用され、非常にうまく機能します。

  • Qtを使用している場合、QMakeも素晴らしいビルドシステムです。

  • CMakeもかなり甘いです。

  • 最後に、If all else fails...

8

Automatic Makefile Generatorを試しましたか?

それは、以下のコンパイラのためにサポートされています。あなたは検討する必要があります

Borland 3.1 
Borland 5.0 
Borland 5.0, 16 bit 
Borland 5.5 
Borland 5.6 
Borland 5.8 
CC 
Gnu g++ 
Gnu g++, dynamic library 
Intel 5, 6, 7 for Linux 
Intel 5, 6, 7 for Linux, dynamic library 
Intel 5, 6, 7 for windows 
Intel 8,9,10 for Linux 
Intel 8,9,10 for Linux, dynamic library 
Intel 8,9 for windows 
Intel 10 for windows 
Visual C++ 5 
Visual C++ 6, 7, 7.1 
Visual C++ 8 
Open Watcom 
Watcom 10A 
Watcom 10A, 16 bit 
1

私は2番目のcmakeのもよ。私はマルチプラットフォームのプロジェクトでこれをかなり使用しており、とても満足しています。

0

「メークファイル」クリエイターまたは交換用のビルドシステムが必要かどうかを検討しなければなりませんか?置き換えビルドシステムの問題は、ユーザーがこれを期待しているプラ​​ットフォーム(Visual C++)に対して、通常は良いIDE統合を得られないことです。 置き換え用のビルドシステムではなくメイクファイルの作成者が必要な場合は、MPCをご覧ください。それは無料でオープンソースです。

4

私は以前にBakefileを使用しました。それはかなりシンプルで、うまくいくようです。

2

(M | m)akefilesの自動生成は、あなたがここで何をしようとしているのか心配しています。

makeとタイプすると、何が起こっているのか理解していますか?またはgmake?新しいコードの変更がビルドに組み込まれていないなど、何かが壊れてしまった場合には、何が起きたのかを試すのが難しいからです。

makeを理解し始めるには、Robert Mecklenbergの "Managing Projects with GNU Make"という読みを持つことをおすすめしますか?初期の章では、makeがどのように機能しているかについて説明します。 makeが後方連鎖であるという事実を聞くことは、あなたができる最大のものの1つです。

あなたのシステムが正常に動作していると思われる場合は、The Pragmatic Programmersの用語「programming by coincidence」を使用してください。 ( - :!。。

ところでグレート自分のサイトで入手できる記事や私は彼らと関係していないよYMMV矢田、矢田を...

4

CMakeのは(実際に本物のVisual Studioプロジェクトを生成することができる唯一のツールです。つまり、「Makefile」プロジェクト(外部ツールを呼び出すプロジェクト)ではなく、ビルド入力ファイル(CMakeLists.txt)が変更されたときにプロジェクトを自動的に再作成するものです。 SConsのメーリングリストで

3

私はOMakeに投票します。それはGNU makeで持っていたすべての不満を修正します:

  • それは完全な言語です。
  • は、タイムスタンプの代わりにMD5を使用します。
  • は、find、sed、awkなど、すべてのプラットフォームで最も有用なunixコマンドを実装する最小限のシェルを提供します。
  • はUNIXまたはDOSスタイルのパス名で動作します。
  • が広く文書化されています。
  • は、並列ビルドをサポートしています。
  • 速い。
0

最近、メイク置換のリストに追加されたのはwafです。個人的な経験からSCONSは仕事をかなりうまくやっています。

0

この質問にもう興味があるかどうかわかりません。私はRubyを使って開発したCodeMateというMakefileの自動生成プロジェクションに取り組んでいます。たぶん大規模なアプリケーションでは成熟していないかもしれませんが、私はそれをより良くするためにそれに取り組んでいきます。ユーザーは、ソフトウェアを構築するために構成ファイルを編集する必要はありません。少なくとも、それは想定されています。学習曲線を最小限に抑える必要があります。

+1

もう1つの死んだSOのリンク!私は手動でGitHubページに行きました.CodeMateはFortranのみのビルドなので、そこには何が表示されますか?同じ名前の別のプロジェクトを作成しましたか? [This](https://github.com/shepherddog/CodeMate)は、それがあなたが意味するように見えます。 – refi64

関連する問題