タグ

makeに関するyukimori_726のブックマーク (21)

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

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

    ビルド職人になるために覚えたコマンドメモ - ainameの日記
  • Makefileのお勉強メモですよ。「.PHONY」「環境変数」「C99の規格を強制する方法」 - Qiita

    最近ずっと開発中の「静的型PerlのVM実装 static-perl」で、akinomyougaさんに、Makefileを作っていただいたのだけれど、そこで学んだことを少しメモしておく。 以下がstatic-perlのがMakefileだね。 https://github.com/yuki-kimoto/static-perl/blob/master/Makefile .PHONYを使うと、同名のファイルが存在していても、大丈夫なよう。Makeは、たとえばcleanというファイルの名前があると、それが存在しているとみなされて、Makefileの中のcleanが実行されない。「これは思ってもみないことだ」 これを防いでくれるのだ。うれしいね。

    Makefileのお勉強メモですよ。「.PHONY」「環境変数」「C99の規格を強制する方法」 - Qiita
  • Go でツール書くときの Makefile 晒す - Qiita

    Go でツール書くときはタスクランナーとして make を使っています。ビルドだけじゃなくて、テストや配布用パッケージ作成も一括して make でやっています。 今回は整理も兼ねて、自分が普段どういう Makefile を使っているのか解剖していきます。 なぜ make を使うのか ビルドフラグ覚えるのが面倒だから、make は (Windows を除く) 大半のプラットフォームに入っていて使いやすいからというのが理由です。script/build みたいにシェルスクリプトを複数用意するのでもまあ良いと思いますが…。大半の Go プロジェクトは Makefile 置いてありますね。 make を使った開発フロー 基的には、リポジトリを git clone / go get -d した後に以下のコマンドを打てばアプリケーションをインストールできるようにしています。 $ cd $GOPATH

    Go でツール書くときの Makefile 晒す - Qiita
  • O'Reilly Japan - GNU Make 第3版

    GNU Make 第3版 Robert Mecklenburg 著、矢吹 道郎 監訳、菊池 彰 訳 2005年12月 発行 304ページ ISBN4-87311-269-9 フォーマット Print 原書: Managing Projects with GNU Make, Third Edition

    O'Reilly Japan - GNU Make 第3版
  • GNU Make 第3版 日本語版(オライリー)のPDF版電子書籍の無料ダウンロード【マニュアル代わりにどうぞ】: 組込みエンジニアの思うところ

    ファームウェアのビルドに欠かせないツールと言えば make ですね。なんだかんだ言って、make が使えると何かと便利です。現在、市販の make の書籍といえば GNU make 3.81 を対象とした下記のオライリーのがベストかなと思います。 このは、もちろん書店で買ってもいいですが、 PDF でなら GNU Free Document License に則り無料で公開されています。ちょっと場所がわかりづらいのでリンク先を貼っておきますね。オライリージャパンのサイトの中にありますよ。 公式マニュアルは英語ですし日語訳は情報が古い場合がありますので上記の PDFがオススメです。 GNU Make 第3版 PDFファイル はココ ここから下はアマゾンへのリンクです。レビューなどの参考までに。 GNU Make 第3版 -

  • Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JP

  • - 自動化のためのGNU Make入門講座 - Makefileの基本:ルール

    ここでは,メイクファイルの基的な書き方としてルールの説明をしましょう.ここからは,Makefileといえばmakeが参照するメイクファイルのことを指すものとします. コメントと改行 その前に少しコメントの書き方について解説しておきます.Makefileでは,#から行末までがコメントです.例えば, # # Hello Worldを出力する # all: @echo Hello World! のように使います. また,makeは基的に行指向です.見やすくするために改行したい場合はバックスラッシュ\を使って改行を無視させることができます.例えば,マクロの定義(後述)で object_files = \ foo.o \ bar.o \ baz.o と書けば,makeは改行を無視して次のように解釈します. object_files = foo.o bar.o baz.o ここで注意することは,f

  • kati について - 兼雑記

    https://github.com/google/kati kati について、ドキュメント書こう…と思っていたのですがなかなか進まないので、とりあえず日語で書いてみることにしました。何書くかがあまり明確じゃないテーマなので、何書くか考えるのと英語考えるのを両方同時にやるのが少し大変で。 動機 kati は GNU make のクローンです。いずれ完全なコンパチになると嬉しいですが、なかなか難しいだろうと個人的には諦めています。用途に対して実用的ならば良いかなと。 動機としては、 Android platform のビルドシステムが、なかなかシュールな GNU make 黒魔術で構成されていて、 make が実際になんかしはじめるまでが遅かったので、そこを高速化したいというものでした。 ビルドシステムが遅いという時、まずだいたいヌルビルドとフルビルドの2点を考えます。ヌルビルドてのは生

    kati について - 兼雑記
  • [法大奥山研究室]C言語:付録 Makefile

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

  • Makefileを自己文書化するハックを注入するスクリプト: inject-make-help - Islands in the byte stream

    Re: Makefileを自己文書化する make2help | おそらくはそれさえも平凡な日々 この主のコマンドのインストールを強制するのめんどうだし、自己文書化hackを注入&管理するコマンドのほうがうれしそう。 / “Makefileを自己文書化する `make2help` | おそらくはそれさえも平凡な日々” https://t.co/VDmjEkyevs— FUJI Goro (@__gfx__) June 13, 2016 ぼくもmakeはわりと使う方で、AndroidプロジェクトだろうとiOSプロジェクトだろうとよく使うコマンドセットをMakefileとして追加するのが大好きなんですが、self-documented Makefileは存在はしっていたもののセットアップが面倒でやっていませんでした。 じゃあ make2help はどうかというと、ただひとつのコマンドをインスト

    Makefileを自己文書化するハックを注入するスクリプト: inject-make-help - Islands in the byte stream
  • Makefileの関数 - Qiita

    自分用にずっとまとめようと思って、下書き保存して温めていたMakefile関連です。 C++用のビルドからAndroid用のビルドまでMakefileを大活用しているが、 使う機会が少ないのでMakefileの関数はどうも慣れない&上手く活用できない。 そして毎回調べる。 ということで、 実用的なものから、今後使うことはないだろう的なものまで、 リファクタをする時のために調べた結果をまとめておきたい。 英語が読めない自分が英語のドキュメントを読んだりして、 自分なりの解釈でまとめたので誤りがありましたらごめんなさい。 一応、ドキュメントを見ながら全部載せしたつもり。 http://www.gnu.org/software/make/manual/ ちなみに、makeのバージョンは、

    Makefileの関数 - Qiita
  • DKMSが素晴らしい

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

    DKMSが素晴らしい
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • Makefileの書き方 - Y's note

    GNU Make 第3版 作者:Robert MecklenburgオライリージャパンAmazon 利用するケース @yutakikuchi_です。 C/C++を書いた時に複数ファイルから実行ファイルを生成するときやライブラリをIncludeする場合コンパイルのオプションが複雑になります。複雑なオプションを毎回コマンドラインで入力するのではなく、Makefileというコンパイルのオプションルールを記載してmake/gmakeコマンドにて実行ファイルを生成すると便利です。今回はMakefileの簡単なルールについて紹介します。 Makefileの基ルール C++ソースのコンパイルにはg++を利用します。例えばhello.cppというファイルをコンパイルする場合は$ g++ hello.cpp -o helloと実行するとhelloという実行ファイルが生成されます。これをMakefil

    Makefileの書き方 - Y's note
  • makeの動作gccとg++と暗黙のルール。 - 動物と暮らそう

    cをずーっと書いていて、c++に移行した再のmakeで罠ったので、書き留めておく。 簡潔、明瞭、寛大に書くと、 GNU makeは.oをコンパイルする際に、ソースファイルが.cの場合はgccが、.cppの場合はg++が、暗黙のルールでコンパイラとして選ばれる。 gccが暗黙のルールとして呼び出された場合、$(CFLAGS)が付属してコンパイルされる。 g++が暗黙のルールとして呼び出された場合、$(CPPFLAGS)が付属としてコンパイルされる。 ということを理解、認知、納得、勉強できたということなのなのです! もっと詳しくは、 GNU make 日語訳(Coop編) - 暗黙ルールの利用 に猛々しく、歴々と、漫然にして、明瞭に書かれている。 以下は、僕がいかにダメかということの証明が書かれています。 コンパイルが通らないって話。 #include "stdio.h" #include

    makeの動作gccとg++と暗黙のルール。 - 動物と暮らそう
  • シンプルで応用の効くmakefileとその解説 - URIN HACK

    シンプルで応用の効くmakefileとその解説 makefileは一度作るとそれ以降編集する機会が少なくなるので意外と真面目に考える人は少なく、ネット上でもまとまった情報は多くない。 Linux系OS上(正確に言うとGNU MakeとGCC)で複数のC/C++ソースファイルから1つの実行ファイルを作成(make)するための汎用的なmakefileテンプレートを作った。名前はまだない。適宜ディレクトリ構成や設計などに従ってmakefileをカスタマイズする必要があると思うがそのベースにする。 このmakefileのいいところ コンパイル対象となるソースファイルをワイルドカードで指定できる。 ヘッダファイル、ライブラリ、オブジェクトファイルなどコンパイル、リンクに関連するどのファイルが外部で変更されていてもきちんと 差分 コンパイルされる。 makefile自体に説明書(この記事)がある。 C

  • GNU make 日本語訳(Coop編) - 目次

    著者 :リチャード・M・ストールマン, ローランド・マグラス (GNU プロジェクト) 訳者 : いのまた みつひろ / ecoop.net(技術メモ公開中) 翻訳文更新日:May 20, 2002(翻訳終了・未校正) Linux 標準搭載の make コマンド, 別名 gmake の日語版です。 この資料の著作権は Richard.M.Stallman & Roland.McGrath と Free Software Foundation にあり、また翻訳版には前述の著作者に加えて ecoop.net に著作権があります。再配布・転載等される方はこちらを見て下さい。 GNU Project についてはgnu.org(日語)を参照のこと。 序文はこちら GNU makeユーティリティは大きいプログラムのどの断片が再コンパイルされる必要が あるかという事と,それらを再コンパイルする発行コ

  • root権限がないときのpython・numpy・scipyのソースからのインストール on Linux - Qiita

    root権限がない一般人が,python2系列をインストールする手順についてのメモ. 一言概要 ソースからビルドします. なぜ必要か root権限を持つユーザはこんなことを考える必要はほとんどない. しかし,root権限のないただの人の場合,pipやeasy_installなどでたった1行で済むパッケージのインストールすらできない(というのは一部嘘ですが :-p ).また,共用マシン環境の場合,自分の都合だけで勝手にpythonのバージョンを上げたりパッケージを追加更新したりできない点もネックになる. インストールする インストール先: /home/akisato/src/downloads/python-2.7.6rc1とする. python: ちょっと古いけど,python 2.7.6 RC1を想定. OS: CentOS 6系列を想定するが,たぶん他のlinux OSでもOK. bz

    root権限がないときのpython・numpy・scipyのソースからのインストール on Linux - Qiita
  • Make a Lisp で Lisp 処理系を学んでつくる (with Crystal) - はやくプログラムになりたい

    インタプリタ式の言語処理系を書いたことが無かったので一度実装してみようと思って,この手のは Lisp が定番だということで,前々から気になっていた Make a Lisp (mal) に挑戦してみました. Make a Lisp (mal) とは Make a Lisp は色々な言語で mal という Lisp 方言を実装してみようというプロジェクトです. 30以上の言語での mal 処理系実装 11段階のステップに分けられた実装ガイド(全体の構成図付き) 各実装ステップごとのテストケース といったほしい情報が揃っており,言語処理系初心者でも Lisp 実装について簡単に学べる環境が整っています. 11段階の各ステップは以下の様な感じです. The REPL : 実装を始める準備(自分の言語を Makefile に登録して make 一発でテストを走らせられるようにする,関数のスケルトンの

    Make a Lisp で Lisp 処理系を学んでつくる (with Crystal) - はやくプログラムになりたい
  • LinuxカーネルのMakefileを解析する その2

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