タグ

Linuxとmakeに関するyukimori_726のブックマーク (5)

  • ビルド職人になるために覚えたコマンドメモ - ainameの日記

    ここ2年ぐらいffmpegとかopencvとかRuby + CUDAみたいなやつとか たまーにビルド職人になることがあって上手くコンパイルするために各種コマンドを使うことがあるのだけど、 使い方はおろか、普段あんまり使わないのでコマンド名すら忘れることが多々あるためコマンド名とか使い時を覚えている限りざっくりメモしとく。 あとはmanを読めば良い。 pkg-config インストール済みのライブラリをコンパイルに利用するときに必要なコンパイルオプションを返してくれるやつ .pcファイルを元に返してくれる。 PKG_CONFIG_PATHを指定して利用したりする。 ldd .so(Shared Object)ファイルが動的リンクで依存しているライブラリへの依存関係を表示してくれる。 何かをコンパイルした結果、共有ライブラリがリンクできているかを調べるのに使える。 $ ldd `which f

    ビルド職人になるために覚えたコマンドメモ - ainameの日記
  • [法大奥山研究室]C言語:付録 Makefile

    付録 Makefile Makefile を使った makeコマンドによるコンパイルには,幾つかの利点があります。 プログラムが複数のソースファイルから構成される場合,その依存性を記述しておくことができる。 変更されたソースファイルのみをコンパイルし,実行ファイルを生成してくれる。 コンパイルのオプションを記述しておくことができる。 コンパイル,インストール,クリーニングなどの作業を記述し,それらを簡単に実行できる。 ここでは,これらの利点を中心に,Makefile の作成方法を見ます。(Makefile の作成方法のすべてを知りたい方はマニュアルを参照ください。) ■makeコマンド make [options] [target] ここでの options とは makeコマンドのオプションです。オプション一覧は,次のようすれば得られます。 % make -h また,target とは,

  • DKMSが素晴らしい

    Dynamic Kernel Module Support(DKMS)は、アウトオブツリーモジュールを公開する上での強力な味方である。 Linuxカーネルは、モジュールを動的にインストールすることが出来る。この用途は主にドライバだが、ファイルシステムやDMターゲットの開発にもこの機構を使うことが出来る。ここでインストールとは、システムのどの場所からでもそのモジュールをmodprobe可能になってることと定義する(それ以降はmodprobe。confの仕事である)。 モジュールを、現在のカーネル向けにコンパイルして、インストールして、モジュールを修正した時にはまた新しいものをインストールするというのは、作業量的には大したことないのだが、果たしてあなたはモジュールをインストールする仕組みを"完全に"理解していて、あなたの理解が全ディストリビューションに通用するものであることを保証出来るだろうか

    DKMSが素晴らしい
  • LinuxカーネルのMakefileを解析する その2

    前回は、LinuxのトップのMakefile の一番外のネスト ifeq ($(skip-makefile),) について説明しました。 その内部にさらにわかりにくい部分があります。 トップのMakefile の400行目付近からは以下のようなコードになっています。

  • 【翻訳】Web世代のデベロッパーのためのmake - MOL

    Original:Make for the Web Generation (2015-02-28)by Casper Beyer イントロ JavaScriptの普及に伴いビルドツールが盛んだ。人気なものをいくつか挙げれば、grunt、gulp、slush、broccoliやbrunchなどがあるが、結局、名前をつけただけにすぎない。 多かれ少なかれ、これらのツールはファイルコピーからzipファイル作成のようなシンプルなタスク処理でさえ、すべてプラグインに依存しているので、それらのタスクを実行するためにプラグインを必要とするだろう。 これらのツールは理想論的には大きな柔軟性をもたらすものとされているが、実際はUNIXのエコシステムをただ複製しているだけにすぎない。このために君のプロジェクトは早々に、大きな開発依存性のバンドルを持つことであろう、そして、やっているタスクは単なる普通のコピー、

    【翻訳】Web世代のデベロッパーのためのmake - MOL
  • 1