# Building the Mach Interface Generator from Source
If you want to build the Mach Interface Generator yourself instead of just using a pre-built package, follow these instructions.
## Getting the Source Code
You can chose between getting the [sources from the developers's RCS](http://www.gnu.org/software/hurd/mig-download.html#cvs):
$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co mig
... or (if you are working on a Debian system) the ones that are used for the [current Debian mig package](http://packages.debian.net/source/unstable/mig):
$ apt-get source mig
Please see [[Distrib/DebianFAQ]] before using _apt-get source_.
The unpacked source tree is around [TODO]MiB, and the build tree is around [TODO]MiB.
## Preparing for the Build
### ... on Debian systems
Building the Mach Interface Generator requires the _build-essential_ and _fakeroot_ packages, their dependencies and additional packages that are specified by the source mig package:
# apt-get install build-essential fakeroot
# apt-get build-dep mig
### ... on non-Debian systems
[TODO]
## Building
### ... a _.deb_ file
Change into the directory with the downloaded / unpacked MIG sources, e.g.
$ cd mig-[TODO]
Start the build process with
$ dpkg-buildpackage -us -uc -b -rfakeroot
### [TODO]
[TODO]