hamigaki.png

前のページ 上に戻る ホーム 次のページ

ターゲット

ターゲットID
共通構文
exe
lib
alias

ターゲットID

ビルドターゲットを識別するため、「プロジェクトID//ターゲット名」という形式の文字列を用いる。

ターゲットID 意味
/boost boostプロジェクト(サブプロジェクトを含まない)のターゲット全て
hello 現在のプロジェクトのhelloターゲット
/boost/filesystem//boost_filesystem boost/filesystemプロジェクトのboost_filesystemターゲット

共通構文

通常、ビルドターゲットを宣言するルールは次の共通構文の形式を取る。

rule ルール名 (
    main-target-name :
    sources + :
    requirements * :
    default-build * :
    usage-requirements * )

引数の意味は次の通り。

引数 意味
main-target-name ターゲット名
sources ソースファイル名、ソースターゲット名
requirements ビルドに必要なプロパティ
default-build コマンドラインや依存するターゲットのdefault-buildでの指定がない場合のみ使用されるプロパティ
usage-requirements このターゲットに依存するターゲットのビルドに必要なプロパティ

exe

標準ルールexeは、実行ファイルターゲットを宣言するルールであり、共通構文の形式を取る。

# hello.cppから実行ファイルhelloを生成させる
exe hello : hello.cpp ;

# my_ls.cppとBoost.FileSystemのライブラリから実行ファイルmy_lsを生成させる
exe my_ls : my_ls.cpp /boost/filesystem//boost_filesystem ;

lib

標準ルールlibは、ライブラリターゲットを宣言するルールであり、共通構文の形式を取る。

# hello.cppからライブラリhelloを生成させる
lib hello : hello.cpp ;

# 既定のライブラリパスから探索されるzという名前のライブラリを参照する
lib z : : <name>z ;

# /usr/local/libから探索されるbzipという名前のライブラリを参照する
lib bzip : : <name>bzip <search>/usr/local/lib ;

# /usr/local/lib/foo.aをライブラリとして参照する
lib foo : : <file>/usr/local/lib/foo.a ;

alias

標準ルールaliasは、ターゲットの別名を宣言するルールであり、共通構文の形式を取る。

# ターゲットaとbを参照するターゲットa&bを宣言する
alias a&b : a b ;

# ヘッダのみのライブラリheadersを宣言する
alias headers : : : : <include>$(BOOST_ROOT) ;

前のページ 上に戻る ホーム 次のページ