# Jsonnet - The data templating language
[](https://travis-ci.org/google/jsonnet)
For an introduction to Jsonnet and documentation,
[visit our website](http://jsonnet.org).
Visit our [discussion forum](https://groups.google.com/forum/#!forum/jsonnet).
## Building Jsonnet
You can use either GCC or Clang to build Jsonnet. Note that on recent versions
of macOS, `/usr/bin/gcc` and `/usr/bin/g++` are actually Clang, so there is no
difference.
### Makefile
To build Jsonnet with GCC, run:
```
make
```
To build Jsonnet with Clang, run:
```
make CC=clang CXX=clang++
```
To run the output binary, run:
```
./jsonnet
```
### Bazel
Bazel builds are also supported.
Install [Bazel](https://www.bazel.io/versions/master/docs/install.html) if it is
not installed already. Then, run the following command to build with GCC:
```
bazel build -c opt //cmd:jsonnet
```
To build with Clang, use one of these two options:
```
env CC=clang CXX=clang++ bazel build -c opt //cmd:jsonnet
# OR
bazel build -c opt --action_env=CC=clang --action_env=CXX=clang++ //cmd:jsonnet
```
This builds the `jsonnet` target defined in [`cmd/BUILD`](./cmd/BUILD). To
launch the output binary, run:
```
bazel-bin/cmd/jsonnet
```
## Contributing
See the [contributing page](http://jsonnet.org/contributing.html) on our website.