# Regenerate the projects files (and other generated files) using templates
tools/buildgen/generate_projects.sh
```
@ -19,25 +23,13 @@ So instead we decided to work the following way:
targets and files needed to build grpc and its tests, as well as a basic system
for dependency description.
* Each project file (Makefile, Visual Studio project files, Bazel's BUILD) is
a [YAML](http://yaml.org) file used by the `build.yaml` file to generate the
final output file.
* Most of the build systems supported by gRPC (e.g. Makefile, cmake, XCode) have a template defined in this directory. The templates use the information from the `build.yaml` file to generate the project files specific to a given build system.
This way we can maintain as many project system as we see fit, without having
to manually maintain them when we add or remove new code to the repository.
Only the structure of the project file is relevant to the template. The actual
list of source code and targets isn't.
We currently have template files for GNU Make, Visual Studio 2013,
[Bazel](http://bazel.io) and [gyp](https://gyp.gsrc.io/) (albeit only for
Node.js). In the future, we
would like to expand to also generate [cmake](https://cmake.org)
project files, XCode project files, and an Android.mk file allowing to compile