GCCを起動すると、 通常は、 前処理(preprocessing)、 コンパイル、 アセンブル、 リンクが行われます。 「全体的(overall)オプション」によって、 この一連の処理を中途の段階で停止することができます。 例えば、 `-c'オプションはリンカを起動しないよう指示するものです。 この場合、 アセンブラによって生成されるオブジェクト・ファイルが出力となります。 他のオプションは、 一連の処理の中の1つの段階に渡されるものです。 オプションの中には、 プリプロセッサを制御するものもあり、 コンパイラ自体を制御するものもあります。 また、 アセンブラやリンカを制御するオプションもありますが、 それらのほとんどは、 ここではドキュメント化されていません。 というのは、 このようなオプションを使うことが必要になることはめったにないからです。 GCCにおいて使うことのできるコマンドラ
make って何? make とはソフトウェア開発にとって、なくてはならない魔法のツールである。今回紹介するやり方では、GNU make という、フリーソフトの make の仕様を使い倒している。この GNU make でないと、インターネットで流通している面白いフリーソフトの多くはコンパイルできないくらいメジャーなものだが、Windows 関係者は持っていないかもしれない。そういう方は適当なミラーサイトから ftp して使われるのが良かろう。 「俺に make とは何か説教垂れずに、とっととどんな Makefile を書いたのか見せろ!」という向きは以下の説明を飛ばし、直接 Makefile を参照されるのが良かろう。 Makefile の記述 OK。じゃあ、これを読んでいる方は、「make とは何か」を理解したい人物である、ということにしよう。make は UNIX でプログラム開発に
make/makefileは,大きいプログラムのどの断片が再コンパイルされる必要があるかという事と,それらを再コンパイルする発行コマンドを自動的に決定するユーティリティ/設定ファイルです. コンピュータサイエンスの基本的な考え方のひとつに冗長性をなくして効率化する構成を追及するというのがあります. 情報理論(bitの理論),HTMLとブラウザ,高級言語と機械語など,ひとつの仕様(表現)から環境や状況にあわせて実装(記述)をつくりだす構成が好まれます. ひとつのファイルでさまざまなコマンドを制御するmake/makefileを制することはコンピュータサイエンスを制することになります. makeのあれこれ もっとも単純な例 Makefile は以下のようなルールからなる.
しばしば見落とされがちですが, Makefileは立派な(=チューリング完全な)プログラミング言語です. GNU Make, 3rd Edition([1], 以降make本と記します)をパラパラしながら読み終わりました. 最後の最後で, Makefileの中で「数字の計算をする方法」が書いてあり, あ, こりゃ, 僕がやるしか無いな, と思ってこのエントリーを書きました. GNU Make 第3版 作者:Robert Mecklenburg発売日: 2005/12/01メディア: 大型本 基本事項 Makefileの基本事項です. と言っても, 暗黙のルールとかマニアックな特殊ターゲットとかは今の僕にはあまり興味が無いです. まず, Makefileをビシビシ書くにあたって, デバッグのために簡単に出力する方法を知って置かなければなりません. warning関数を使います. make本1
GNU Make A Program for Directing Recompilation Edition 0.48, for make Version 3.73 Beta. April 1995 Richard M. Stallman and Roland McGrath Overview of make How to Read This Manual Problems and Bugs An Introduction to Makefiles What a Rule Looks Like A Simple Makefile How make Processes a Makefile Variables Make Makefiles Simpler Letting make Deduce the Commands Another Style of Makefile Rules for
条件分岐(conditional)を使えば変数の値によってmakefileの一部を従うか無視するか分岐させることができます。条件分岐ではある変数を別の変数と比較するか、変数を定数文字列と比較させかします。条件分岐ではmakeがmakefile中に実際に「見る部分」を制御するため、実行時のシェルコマンドを制御するのに条件分岐は使えません。 条件分岐の例 次の条件分岐例では、CC変数が`gcc'の時はmakeにあるライブラリのセットを使い、そうでない場合は別のライブラリセットを使います。この動作はルールに変更を与えるものと変更を与えないものの二つのうちどちらのコマンドを使うかで制御します。つまり、`CC=gcc'をmakeの引数に渡す事がどのコンパイラを使うかという事だけでなくどのライブラリをリンクするかという事をも変更することになります。 libs_for_gcc = -lgnu norma
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く