タグ

Makefileに関するmikurassのブックマーク (15)

  • - 自動化のための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

  • Makefileの書き方 - $ cat /var/log/shin

    まえがき その昔、Makefileの書き方という非常にわかりやすいMakefileの入門ページがあったのですが、seiichirou氏の卒業(?)とともにページが消えてしまいました。 私も大変お世話になったページだった、というかこれからもお世話になりそうなので、そこでWebArchiveから引っ張りだしてきたものを、はてな記法で書き直したものがこの記事になります。 元々自分用に書き直したのですが、せっかくなので公開してみます。 なので、以下の著作はseiichirou氏に帰属します*1。 Makefileの書き方 はじめに ここでは、Makefileの中でもGNU makeにかぎって説明します。 makeって何? ソースファイルを分割して大規模なプログラムを作成していると、コマンドでコンパイルするのが面倒です。また、一部のソースファイルを書き換えただけなのに全部をコンパイルし直すのは時間の

    Makefileの書き方 - $ cat /var/log/shin
  • http://www.am.sanken.osaka-u.ac.jp/~mukaigaw/misc/Makefile.html

  • Makefile の書き方 (C 言語) — WTOPIA v1.0 documentation

    makeってなに?¶ ソースファイルを分割して大規模なプログラムを作成していると, コマンドでコンパイルするのが面倒である. また, 一部のソースファイルを書き換えだけなのに全部をコンパイルし直すのは時間の無駄である. そんな問題を解決するのが make である. Makefile と呼ばれるテキストファイルに必要なファイルと各ファイルのコンパイルのコマンド, ファイル間の依存関係を記す. そして, “make” というコマンドを実行するだけで, 自動的にコマンドを実行してコンパイルしてくれる. これだけではスクリプトと大差がないのだが, make は Makefile に記された依存関係に基づいて更新されたファイルの内関連のあるものだけを更新することで, コンパイル時間を短くする. make は特定のプログラミング言語に依存したものではない. C 言語のソースファイルのコンパイルにも使え

  • Makefileと共有ライブラリ

    main.c sub1.c sub2.cに対して 共有ライブラリlibsub1.soとlibsub2.soを生成して それをもちいてmainをコンパイルするMakefileを以下のように記述しました。 CC=gcc LIB= CFLAGS=-Wall TARGET = main SHAD = -shared .SUFFIXES:.so .o SRCS = main.c libsub1.so libsub2.so $(TARGET):$(SRCS) $(CC) -o $@ $(SRCS) @echo "make finished!!" #.o.so: #$(CC) $(SHAD) -o $@ $< libsub1.so:sub1.o gcc -shared -o libsub1.so sub1.o libsub2.so:sub2.o gcc -shared -o libsub2.so sub

    Makefileと共有ライブラリ
  • http://www.xn--rhq6sw9f0w7aevaf9ak89m.jp/android/androidLecture/firstNDKApplication/firstNDKApplication.html

  • トリビアなmakefile入門

    make/makefileは,大きいプログラムのどの断片が再コンパイルされる必要があるかという事と,それらを再コンパイルする発行コマンドを自動的に決定するユーティリティ/設定ファイルです. コンピュータサイエンスの基的な考え方のひとつに冗長性をなくして効率化する構成を追及するというのがあります. 情報理論(bitの理論),HTMLとブラウザ,高級言語と機械語など,ひとつの仕様(表現)から環境や状況にあわせて実装(記述)をつくりだす構成が好まれます. ひとつのファイルでさまざまなコマンドを制御するmake/makefileを制することはコンピュータサイエンスを制することになります. makeのあれこれ もっとも単純な例 Makefile は以下のようなルールからなる.

  • Make の基本

    メイクファイルの名称 メイクファイルの書式 ターゲット、依存ファイル、コマンド行 コメント 継続行 複数の依存ファイル 複数のコマンド行 Make の基は、 「あるファイルが修正されたときに自動的に必要な作業を再実行させる」 ことにあります。 その再実行のためのルールを記述しているのがメイクファイルです。 ここでは、メイクファイルの名称と、その簡単な記述例を見てみます。 メイクファイルの名称 Make は「メイクファイル」に記述されたルールにしたがって動作します。 メイクファイルの名前は普通は「makefile」または「Makefile」です。 これ以外のファイルをメイクファイルにしている場合は、 コマンドラインからメイクファイル名を陽に指定しなければなりません。 よって、メイクファイル名が「makefile」または「Makefile」ならば、 単に $ make として実行することがで

  • 4.2.2. Makefileプロジェクト - ROOT解体新書

    Windowsのmakeコマンドは「nmake」でそれぞれ、Linux, Macでの「make」「make clean」「make clean; make」に相当する。リビルドは通常は"make clean"と"make"の2つのコマンドを実行するが、VC++の設定では2つ以上のコマンドを指定できないので、Makefileにrebuildというターゲットを作っておき、削除とビルドを行うようにしておく。「出力」はプロジェクトを実行(ショットカットは「F5」もしくは「Ctrl+F5」)するときに実行されるファイル名を指定する。デフォルトでは「プロジェクト名+.exe」が設定されいるが、Makefileで最終的に生成する実行ファイル名(ここのMekefileサンプルでTARGETに指定している名前)と一致していれば問題はない。

  • UNIX/Linuxプログラミング:make入門

    ※書いてあることの保障はしません。 MAKE入門 プログラミングを初めて暫くすると、ソースファイルが長くなってきたりして使いづらくなってきます。そのような時、たいていは、いくつかのソースに分割して、それらをつなげて(リンクするといいます)使うことが多いのではないでしょうか? しかし、今度はそのうちコンパイルのとき、毎回すごい長さのコマンドを打たなくてはならなくなってしまいます。しかも、いくつもプログラムをつくっていくうちにどのファイルをリンクしなければならないのか、わからなくなったりして大混乱状態に陥り兼ねません。 コンパイルの例 gcc -g -o main.o main.c gcc -g -o sub.o sub.c gcc -g -o func.o func.c gcc -g -o program main.o sub.o func.o こんなことになってきたら、Makeをつかってソ

  • 静的ライブラリ(*.a)を作成するMakefile: プログラマーの雑記帳

    Makefileの書き方って、結構忘れがちですよね。 というわけで、メモ。 Linuxアーカイブファイル(=静的ライブラリ(*.a))を作成するMakefileのサンプルです(C++用)。 # # Makefile for CC = g++ AR = ar SRCDIR = . OBJDIR = ./ INCD00 = ./ ARFLAG = crsv LFILE = libSample.a DEST = ./ CP = /bin/mv LIBS = CFLAGS = -Wall -O INCD = -I. -I$(INCD00) vpath %.h $(INCD00) vpath %.cpp $(INCD00) # SRCS=\ $(INCD00)Socket.cpp \ $(INCD00)SocketStream.cpp \ # OBJS=\ $(OBJDIR)Socket.o \

    静的ライブラリ(*.a)を作成するMakefile: プログラマーの雑記帳
  • ライブラリの作り方メモ - がるの健忘録

    久しぶりにっ気でメモ。 C++のMakefileの書き方。…汚いですが(苦笑 CC = g++ OPT = INCLUDE = OBJ = program.o \ program2.o \ # シェアードライブラリ libgallup.so : $(OBJ) ld -shared -no_archive -o libgallup.so $(OBJ) -lc # スタティックライブラリ libgallup.a : $(OBJ) ar r libgallup.a $(OBJ) ranlib libgallup.a # コンパイル .cpp.o: $(CC) -c $(OPT) $(INCLUDE) $< # お掃除君 clear: rm ./*.o rm ./libgallup.a rm ./libgallup.so

    ライブラリの作り方メモ - がるの健忘録
  • 分割コンパイル

    Makefileの基 はじめに 大規模なアプリケーションを開発する場合,通常プログラムは複数のソースファイルとヘッダファイルから構築される.そのような場合,それぞれのファイルの依存関係を考えながらコマンドラインからコンパイルするのは非常に面倒である.また,一つのファイルを書き換えた場合にも,それを考慮しながらコンパイルする必要がある.このような煩雑さを解消するのがmakeコマンドである. ルールを記述する まず最も簡単なmakefileを見てみる. test: test1.o test2.o gcc -o test test1.o \ test2.o test1.o: test1.c test1.h test.h gcc -c test1.c test2.o: test2.c test2.h test.h gcc -c test2.c clean: rm test tes

  • Makefileの書き方 - スキルアップ輪講

    makeって何? † ソースファイルを分割して大規模なプログラムを作成していると、コマンドでコンパイルするのが面倒です。また、一部のソースファイルを書き換えただけなのに全部をコンパイルし直すのは時間の無駄です。 そんな問題を解決するのがmakeです。Makefileと呼ばれるテキストファイルに必要なファイルと各ファイルのコンパイルのコマンド、ファイル間の依存関係を記します。そして、“make”というコマンドを実行するだけで、自動的にコマンドを実行してコンパイルしてくれます。これだけではスクリプトと大差がないのですが、makeはMakefileに記された依存関係に基づいて更新されたファイルの内関連のあるものだけを更新することで、コンパイル時間を短くします。 makeは特定のプログラミング言語に依存したものではありません。C言語のソースファイルのコンパイルにも使えますし、Verilog-HDL

  • C++のための即席Makefile - 簡潔なQ

    最低限だけ書くと次のようになる。 CXXFLAGS = -O2 -Wall LDFLAGS = -lm all: hello # In Windows, it may be "hello.exe" clean: $(RM) hello CXXFLAGSは、C++コンパイラに対する引数。Cコンパイラに対する引数はCFLAGS。最適化や警告、インクルードディレクトリや準拠する標準仕様の設定などを書く。 ここでは最適化オプション-O2と警告オプション-Wallをつけている。 LDFLAGSは、リンカに対する引数。ライブラリディレクトリやリンクしたいライブラリを書く。 ここではmath.hを使うため、-lmをつけてlibm.aをリンクしている。 allは、デフォルトで実行されるターゲット(といってもallという名前だからではなく、先頭にあるからだが)。ここでは実行ファイルhelloをビルドしている

    C++のための即席Makefile - 簡潔なQ
  • 1