「Unix as IDE」の概念でC makefileをどのように処理しますか?

「Unix as IDE」の概念でC makefileをどのように処理しますか?

私は長い間VIMをデフォルトエディタとして使用してきましたが、それ以降はIDEに触れませんでした。これは、市場に出ているほとんどのプログラミング言語で非常にうまく機能します。しかし、Cの場合、makefileの作成が面倒すぎるため、まだ単純なプロジェクトに限定されています。 「IDEとしてのUnix」哲学はmakefileにどのようにアクセスしますか?コマンドラインで特定のタスクを実行する私が知らないツールはありますか?それとも、誰もが自分のmakefileを作成しますか?

答え1

makefileを生成するツールはさまざまです。最も一般的な2つはCMakeそして自動車メーカー;両方のコマンドは、プロジェクトのコンポーネントと目的の出力を記述し、makefileを生成するように要求します。

これは間違いなくコメントの問題ですが、クロスコンパイルが必要な場合はCMakeを習得しやすくなり、最終的にはAutomakeが必要になります。自動化された会議)。

単純なプロジェクトの場合は、組み込みルールを提供GNUが作るたとえば、2つのソースファイルで構成されたプロジェクトをビルドすると、a.c次のb.cMakefileが機能します。

all: a

a: a.o b.o

実行したら、makeこれを見つけa.cb.cコンパイルしてリンクして生成する必要がありますa...

(ようにプログラムメーカー組み込みルールはこれ以上の作業を実行せず、makefileで以下を指定する必要があることを指摘してください。みんなプロジェクトのタイトルを含むファイル間の関係、依存関係などを管理するのに役立つ追加のツールをすぐに見つけることができます。 )

答え2

Makefileの理解が間違っています。複雑なものを構築しない限り、簡単なプロジェクトにはVIMで簡単に管理できるシンプルなMakefileが必要です。 IDEは必要ありません。もちろん、IDEは非常に複雑なMakefileを作成するのが好きですが、それがまさにあなたがIDEを嫌う理由です。そうではありませんか?

複数のオペレーティングシステムや複雑なコード生成シナリオに適応するなど、より複雑なタスクを実行するように要求すると、Makefileは複雑になります。ソースファイルが多く、それをコンパイルしてアプリケーションにリンクする必要がある場合は、心配する必要はありません。

関連情報