ホーム > Tensorflow >
bazelプロジェクト作成のチュートリアル
Hello World
bazelにはWORKSPACEとBUILDの2種類の設定ファイルが存在する。
WORKSPACEという名前の設定ファイルは、プロジェクトのトップのディレクトリに配置し、 外部のプロジェクトへの依存性を記述する。
BUILDという名前の設定ファイルには、具体的なビルド設定を記述する。
これを踏まえて、このチュートリアルでは、 以下のようなディレクトリ構造のプロジェクトを作成する。
. ├── WORKSPACE └── helloworld ├── BUILD └── main.cpp
BUILDとmain.cppの内容は以下の通り。WORKSPACEは今回の場合は空のファイルでよい。
- BUILD
cc_binary ( name = "main", srcs = ["main.cpp"], )
- main.cpp
#include <iostream>
int main(void)
{
std::cout << "Hello bazel world." << std::endl;
return 0;
}
このようなプロジェクトが作成できたら、 以下のコマンドでプロジェクトをビルドすることができる。
bazel build //helloworld:main
作成したバイナリを実行するには、bazel runを使用するか、 または、bazel-bin以下に作成されたバイナリを直接実行すれば良い。
> bazel run //helloworld:main
INFO: Found 1 target...
Target //helloworld:main up-to-date:
bazel-bin/helloworld/main
INFO: Elapsed time: 0.071s, Critical Path: 0.00s
INFO: Running command line: bazel-bin/helloworld/main
Hello bazel world.
> ./bazel-bin/helloworld/main
Hello bazel world.
また、bazel cleanを実行すると、bazelによって生成されたファイルを全て削除することができる。
bazel clean
毎回、bazel 〜〜 と打ち込むのを省略したければ、以下のようなMakefileをプロジェクトの直下に作成してもよい。
BAZEL=$(shell which bazel)
.DEFAULT_GOAL := build
.PHONY: build
build :
$(BAZEL) build //helloworld:main
.PHONY: run
run:
$(BAZEL) run //helloworld:main
.PHONY: clean
clean :
$(BAZEL) clean