Understand 3.0 リリースのお知らせ後、お問い合わせの多い Buildspy について紹介します。
Buildspyは、makeをトレースし、必要なファイル、インクルードパス、マクロ設定といった情報を収集し、その情報からUnderstandのデータベースを作成するツールです。
従来は手作業で設定する必要のあった、Understandのプロジェクト設定の手間を大幅に軽減できます。
Buildspyは以下の環境で動作します。
- Understand 3.0 (build640)以降
- Windows(Cygwin)、Linux x86、x86-64(64bit)
- gcc、g++準拠コンパイラでmake可能なプログラム
Buildspyは、Understand 3.0 に含まれており、以下の場所にあります。
- Windows
{Understandのインストールディレクトリ}\bin\{pc-win32 または pc-win64}\buildspy
- Linux
{Understandのインストールディレクトリ}/scitools/bin/{linux32 または linux64}/buildspy
Windows(Cygwin)環境
Windows(Cygwin)環境におけるBuildspyの利用方法については、「Buildspyツールの使い方 -Windows(Cygwin)環境」を参照ください。
Linux環境
Linux環境におけるBuildspyの利用方法は、以下の通りです。
Linuxの環境設定
環境変数PATHにUnderstandとBuildspyへのPATHを設定します。
$ export PATH={Understandのインストールディレクトリ}/scitools/bin/linux32/buildspy:{Understandのインストールディレクトリ}/scitools/bin/linux32:$PATH
Linux環境でのBuildspyの実行
以下のmakefileを例に、Buildspyの実行方法について説明します。
CC = gcc
CFLAGS = -Wall -DDEBUG -I/user/lib/include
SRC = main.c hello.c
OBJ = $(SRC:%.c=%.o)
all: hello
hello: $(OBJ)
$(CC) $(OBJ) -o hello
.PHONY: clean
clean:
@rm -rf *.o
- makeの情報をトレースするため、makefileのコンパイラ指定の項目を修正します。gccの場合には、gccwrapper、g++の場合には、g++wrapperを指定します。
CC=gcc
↓
CC=gccwrapper
※ makefileは、必要に応じてオリジナルのコピーを残すなどしてください。
- Buildspyを実行します。
$ buildspy -db hello.udb -verbose -cmd make
実行結果は以下のようになります。
解析の実行
作成されたudbファイルをUnderstandで開き、メニューの[プロジェクト]-[すべてのファイルの解析]を実行、もしくはundコマンドにて解析を実行します。
Buildspyにより、Understandのプロジェクト設定(ファイルの入力等)を手動でおこなうことなく、プロジェクトを作成・解析することができました。