2011年5月31日火曜日

makeファイルの内部マクロ

$@ - ターゲット名
$(@F) - ターゲット名(パスを除く)
$% - ターゲットメンバ名
$(@:"変更したい文字列"="変更後の文字列") - 文字列の変換
$(subst "変更したい文字列","変更後の文字列","全体の文字列") - 文字列の変換

参考
http://www.c.csce.kyushu-u.ac.jp/~seiichirou/wiki/index.php?Makefile%A4%CE%BD%F1%A4%AD%CA%FD#content_1_10

-- 使用例 --
1.ファイルの拡張子を変更(%はワイルドカードとして機能)
$(@:%.text=%.txt)

2.ファイルの拡張子を変更して、パスの"/"を"\"に変更
$(subst /,\,$(@:%.text=%.txt))
1を入れ子にする方法ではできなかった(正しい記述が出来ていなかったのかもしれない)。substで入れ子にする方法はまだ試していない。

0 件のコメント:

コメントを投稿