タグ

makeに関するcubicdaiyaのブックマーク (10)

  • kati について - 兼雑記

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

    kati について - 兼雑記
  • Big Sky :: ちっちゃなビルドシステム qo が激しく便利だった件

    « Re: VimでURLをドメインだけに置換するコマンドを正規表現でうったら、当に正規表現って意味不明なフォルムと思った。 | Main | golang のリファクタリングには gofmt ではなく、gorename を使おう。 » golang には go build というビルド機能があり、C言語と golang をまぜた cgo というC言語拡張も同じコマンドでビルド出来ます。 その際、ソースコードのコメントに CFLAGS や LDFLAGS を自ら指定する事が出来るので package gtk // #include "gtk.go.h" // #cgo pkg-config: gtk+-2.0 import "C" import ( "fmt" "log" "reflect" "runtime" "strings" "unsafe" "github.com/mattn/g

    Big Sky :: ちっちゃなビルドシステム qo が激しく便利だった件
  • [開発]GNU makeのMakefileに、シェルスクリプトを自然に書くたった一つの方法 - ヒルズで働く@robarioの技ログ

    たった一つとか嘘です。 ググッても中々出てこなくて、ちょっといじってたらできちゃったので書き残しておきます。 GNU makeでは1行毎に1つのシェルで実行されるので、 foo:: if true ; then echo "make love" ; fi は foo:: $(SHELL) -c 'if true ; then echo "make love" ; fi' と同じような挙動になります。 よってシェルスクリプトが複数行に渡る場合、 foo:: if true then echo "make love" fi なんて書いてしまうと、 foo:: $(SHELL) -c 'if true' $(SHELL) -c 'then' $(SHELL) -c ' echo "make love"' $(SHELL) -c 'fi' という感じで実行されることになるので当然エラーになります。

    [開発]GNU makeのMakefileに、シェルスクリプトを自然に書くたった一つの方法 - ヒルズで働く@robarioの技ログ
  • GNU Make 4.0にGNU Guileが組み込まれた

    GNU Make 4.0 released GNU Make 4.0がリリースされた。 今回のリリースでは、GNU MakeはSchemeの実装であるGNU Guileを組み込んだ。これにより、Makefileの中でSchemeが書けるようになる。 その機能は、GNU Make ManualのGuile Functionの項目で説明されている。まだ、オンライン版のGNU Make Manualが2010年から更新されていないので、コミット時のドキュメントの差分のリンクする。 8.13 The `guile' Function 具体的な組み込み方法としては、make側にguileという関数が追加され、この引数に文字列を与えると、SchemeとしてGuileで処理されるようになる。おそらく、このように。 Hello.o : $(guile (string-append "hello" ".c"

  • コンパイル(make)の高速化 - 元RX-7乗りの適当な日々

    最近、yum(rpm)やaptなどといったパッケージ管理の仕組みが秀逸で使いやすくなってきていますが、最新バージョンのプロダクトの検証がしたいときなど、ソースからビルドしてぶち込む事も個人的に多々あったりもします。 そんなビルド野郎な方に朗報です。 いやね、ちょっとしたものなら全然いいんですよ。 最近はマシンスペックもすっかり良くなっちゃって、時間もそれほどかからなくなってきているから。 でも、MySQLとかPHPとか、ちょっと大きいものを色々オプションつけてコンパイルしたりすると、時間がかかりはじめて、ちょっと馬鹿にならなくなってきます。 で、今日、makeのマニュアルを読んでたら、こんなオプション見つけました。 -j jobs 同時に実行できるジョブ(コマンド)の数を指定する。 -j オプション が 複 数 個指定された場合は、最後の指定が有効になる。引き数無しで -j オプションが与

    コンパイル(make)の高速化 - 元RX-7乗りの適当な日々
  • cmakeでオプションを定義する方法 - tuedaの日記

    よくプログラムをコンパイルするときに $ make -DUSE_HELLO=yes all とかやるじゃん? main.cppの中では int main (int argc, char** argv) { #ifdef USE_HELLO cout << "-- hello --\n"; #else cout << "hello is not defined.\n"; #endif return 0; } みたいな感じで#if〜#endifで切り分ける。 これをcmakeでどうやればいいのか、調べた。 (これ理解するのにかなり時間を要した。チュートリアルの書き方が壊滅的に悪い) 概要 手順はこんな感じ。 CMakeLists.txtの中で「オプション」を定義する(ビルドタイプを指定するCMAKE_BUILD_TYPEと同じ扱い)。 Config.hpp.inから現在の設定を反映したConf

  • chaos2cosmos.net » Makefileの(おそらく正しい)書き方講座

    LinuxMacを使っていて,C++Texのコンパイルをするときにいちいち直接g++やplatexコマンドでコンパイルするのは効率が良いとはいえない.C++はリンクするライブラリを長ったらしく記述しなくてはいけないし,Texは2回コンパイルしなくては図表番号の索引が出来ないなどの煩わしい作業が伴うからだ. そこで,コンパイルの手順を記したMakefileを書こうという話になる.しかし,Makefileの記述方法は一歩間違うと,あまり作業が楽にはならない.ファイル間の依存関係をいちいち直接記述しなくてはいけないからだ.私の研究室の友達,後輩もこのMakefileの記述方法に四苦八苦している. この問題を解決する私なりのMakefileの一例を以下に示そう. C++ TARGET = name CXXFLAGS = -O2 -g -Wall LIBS = -lboost_thread -

  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • make part2

    make (C言語編) ●注意● 基編でも述べたが、 Makefileのコマンド行の先頭は TABで空ける。 このページのサンプルでは「→」で表現しているが、 当に「→」を書いてはいけない。 はじめに make はもちろん、プログラム開発でも利用される。 大規模なプログラム開発では、 一つのプログラムが数百のソースファイルに分割されていることも珍しくない。 このようなケースでは、コンパイルに数時間かかることもある。 一つのファイルをちょっと修正しただけで毎回 数時間もコンパイルするのでは あまりにも非効率である。 また、makeのマクロ定義などをうまく利用すれば、 コンパイルオプションの集中管理もできる。 ここでは、Cのプログラム開発に makeを使用した例を示す。 (なお、統合開発環境では、 同じことを「プロジェクトの管理」という名前で行なっている。) ソースファイルが一つだけの場合

  • MAKEの第一歩(入門)

    makeというコマンドは、Makefileというファイルの記述に従ってファイ ルの更新を行なうユーティリティです。 と書いてもよくわからんだろうなぁ(^^; まあ、最初のセクションmakeって何するもん?でも読んでみてください。 このページの目標地点は入門の手前あたりまでです。「makeって聞いた ことはあるけど」とか「ちょっと触ってみようかな?」というレベルを 対象に書いてみました。「Makefileって最初だけを大文字にしなくちゃ いけないの?」などということさえ書かれていません。そのへんはman かinfoか成書で調べてください。 なお、このページ中で $ ls などと書いてあるときの$はコマンドプロンプトです。 目次 makeって何するもん? もっとも簡単な例 複数ファイルの場合 マクロの利用 ターゲットの生成方法の指定 ちょっとした応用 C以外にmakeを使う サフィックスルール

  • 1