Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

makeに関するtanakaBoxのブックマーク (15)

  • Makeでヘッダファイルの依存関係に対応する - wagavulin's blog

    CやC++で書かれたプログラムをMakeを使ってビルドする、というのはUnix/Linuxではよく行われていることだが、ちゃんとしたMakefileを書くのは意外と難しい。 例えば以下の3つのファイルからなるプログラムを考える。 foo.h: 関数fooの宣言がある。 foo.c: 関数fooの実装がある。 main.c: 関数fooを呼び出す。 /* foo.h */ void foo(int a); /* foo.c */ #include "foo.h" #include <stdio.h> void foo(int a){ printf("%d\n", a); } /* main.c */ #include "foo.h" int main(int argc, char **argv){ foo(10); return 0; } Makefileは例えば以下のように書ける。 PRO

    Makeでヘッダファイルの依存関係に対応する - wagavulin's blog
  • プログラミング言語Makeの関数型フラグメント:まとめとサンプル - 檜山正幸のキマイラ飼育記 (はてなBlog)

    一時Makefileに凝っていました。Makefileの記述構文のなかに、「Lispに似た小さな関数型言語が埋め込まれているんだ」とか言ってましたよね。あれはまー、遊び半分なんだけど、このテの知識は、実際にMakefileを読み書きするときにも役にたちます。 過去のMakefile関係エントリーを読み返そうと思ったら、けっこう量があるし、紆余曲折があるんで、ここに整理してまとめておこうと思います。 内容: 参考資料 概念と用語 データ型 変数 関数 制御構造 画面出力と強制終了 ●参考資料 Makefileに関しては、次のエントリー群でゴタゴタと説明しています。 Makefileの書き方、その勘どころ Makefileの書き方:プログラミング言語Make プログラミング言語Make 補遺:引数付きの関数 Make 補遺の補遺:遊んでいるだけ Make言語で算術演算 <-- バカ! もっとも

    プログラミング言語Makeの関数型フラグメント:まとめとサンプル - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Makeについて知っておくべき7つのこと | POSTD

    Make は、様々なタイプのファイルのビルド作業を自動的に行ってくれるシンプルかつ強力なツールです。しかしながら、makefileを書く際に問題にぶち当たるプログラマもいれば、Makeの基知識がないことで、既存のものを再発明してしまうプログラマもいます。 Makeの働き デフォルトでは、Makeは一番目のターゲットから開始します。このターゲットのことをデフォルトゴールと呼びます。 Makeはカレントディレクトリのmakefileを読み込み、一番初めのルールで処理を開始します。しかし、Makeが完全にこのルールを処理する前に、ルールが依存するファイルのためのルールを処理しなければなりません。各ファイルそれぞれは、自身のルールに従って処理されます。 実はこれは、各ターゲットの再帰的アルゴリズムになっています。 ターゲットをビルドするルールを見つける。ルールがないようであれば、Makeはうまく

    Makeについて知っておくべき7つのこと | POSTD
  • cやc++をビルドしたいので ./configureスクリプトの作り方調べた - Qiita

    c、c++ でちょっとしたコマンドラインツール作ろうと思ったが、全くやったことがなかったのでビルドツールの調査からするはめとなった。 cやc++をビルドするには cやc++のプログラムは、必要なファイル(ソース、ヘッダ、リンクするライブラリ)をコンパイル時にすべて指定してあげる必要がある。 これを、gcc等にコマンドライン引数として全て手打ちするのは大変だし、さらに、時にはgccを何度か実行して、できたものをリンクする必要があるので、必要な操作をファイルに書いておいて自動化したいのが人情。 makeは、皆のその気持ちに応えるためのツールで、必要な操作や依存ファイル、成果物のパスなどをまとめてMakefileというファイルに記述する仕組みになっている。 Makefileさえあれば、make って打ち込むとビルドすることができる。 Makefileさえあれば……。 ただし、Makefileに記

    cやc++をビルドしたいので ./configureスクリプトの作り方調べた - Qiita
  • GitHub - mbcrawfo/GenericMakefile: A generic makefile for use with small/medium C and C++ projects.

    tanakaBox
    tanakaBox 2014/03/28
    C/C++用
  • 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"

    tanakaBox
    tanakaBox 2013/10/10
    ほほー。
  • Grunt: The JavaScript Task Runner

    Why use a task runner?In one word: automation. The less work you have to do when performing repetitive tasks like minification, compilation, unit testing, linting, etc, the easier your job becomes. After you've configured it through a Gruntfile, a task runner can do most of that mundane work for you—and your team—with basically zero effort. Why use Grunt?The Grunt ecosystem is huge and it's growin

    Grunt: The JavaScript Task Runner
    tanakaBox
    tanakaBox 2013/06/16
    Yet another make in JS?
  • MAKEの第一歩(入門)

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

    tanakaBox
    tanakaBox 2013/01/22
    ブクマしてなかった。
  • OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん

    OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr

    OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん
    tanakaBox
    tanakaBox 2009/10/07
    なんだかよくわかんないけど、便利そう。makeして飯がなくなる?
  • GNU Make

    GNU Make is the implementation of make written for the Free Software Foundation’s GNU Operating System. The make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them. GNU Make conforms to section 6.2 of IEEE Standard 1003.2-1992 (POSIX.2), and in addition provides a wealth of very sophisticated features for creating modern bu

    GNU Make
    tanakaBox
    tanakaBox 2007/04/25
    Paul D. Smithさんとこ。make保守担当者。
  • Auto-Dependency Generation

    One of the most important, and yet potentially frustrating, tasks that is required to allow any make-based build environment to function properly is the correct listing of dependencies in the makefile. This document describes a very useful method for having make itself create and maintain these dependencies completely automatically. The basics of the advanced method below were invented by Tom Trom

    Auto-Dependency Generation
    tanakaBox
    tanakaBox 2007/04/25
    依存関係の生成。
  • GNU makeの使い方

    [ C++で開発 ] GNU makeの使い方 更新日: C++のビルドをGNU makeで行います。 Makefile記述テンプレート 単一ディレクトリで1つの実行ファイル作成用 Hello makefile(Ver.1) 一つのsrcディレクトリ、一つのincludeディレクトリからなるソースファイルをmakeし、一つの実行ファイルを作成します。 PROGRAM = hello.exe SRCS = Hello.cc Main.cc OBJS = $(subst .cc,.o,$(SRCS)) RM := rm CXX := g++ CC := g++ CPPFLAGS = -I../include LDFLAGS = -mno-cygwin $(PROGRAM): $(OBJS) $(LINK.o) $^ $(LOADLIBES) -o $@ .PHONY: clean clean:

    tanakaBox
    tanakaBox 2007/03/27
    上手くまとまってる。
  • Make と Makefile の説明

    まだ完成途中です back 注意: このページの内容には、おそらく多くの間違いがあります。 リンクされているので残しておきますが、利用には注意してください。(2008年3月、新山) ここではおもに make の使い方 と Makefile の書き方について 説明しています。じつは make の種類にはいろいろあり、ここでは GNU make (gmake というコマンド名のこともある) を 対象にしています (BSD の pmake でも基的な部分は同じですが、 マクロ定義などは違うところもあるので注意してください)。 わかりにくい箇所とか、まちがってる箇所がある場合はメールください。 Contents make はどんなときに使うか Makefile を作る make の実行 Makefile の文法リファレンス 多段 make について (未完成) Makefile の例 (未完成)

    tanakaBox
    tanakaBox 2007/02/23
    うまくまとまってます。マクロ項は必見。
  • GNU make

    GNU make This file documents the GNU make utility, which determines automatically which pieces of a large program need to be recompiled, and issues the commands to recompile them. This is Edition 0.77, last updated 26 February 2023, of The GNU Make Manual, for GNU make version 4.4.1. Copyright © 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2

    tanakaBox
    tanakaBox 2007/02/22
    makeのマニュアル。英語。日本語版より詳しい。
  • 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ユーティリティは大きいプログラムのどの断片が再コンパイルされる必要が あるかという事と,それらを再コンパイルする発行コ

    tanakaBox
    tanakaBox 2007/01/10
    makeのマニュアル。いつもお世話になっております。
  • 1