If you're goal to to build RPMs, go to Building RPMS on CentOS or Fedora. The instructions on this page are for developers that want to compile and install the source for developing new features OR if binaries are not available for your operating system.
When building from source there are two areas to consider.
For building non-standard dependencies from source, there is no real good way in sipXecs to make this any easier then following the instructions on the individual projects websites. However, if you happen to be working on Fedora, CentOS or Redhat, then there's a good chance the binaries are available for your system and you won't need to build dependencies. After all, you're not developing features for these packages and therefore won't need to recompile often.
sudo yum install make automake libtool git rpm-build git clone git://github.com/sipxcom/sipxecs.git cd sipxecs git submodule init git submodule update autoreconf -if
Here we build in a separate directory. It's not strictly necessary, but you'll appreciate separating build from source when you want to build multiple branches, rpms or change build settings. It will also catch Makefile issues where you assume source and build are in same directory which can be a common mistake. The directory name "build" is arbitrary.
mkdir build cd build ../configure
By default only core and config modules are compiled. If you wish to add other modules, such as Grandstream phone support, you will need to enable them. You can enable individual projects for compilation or project groups.
There are currently 5 project groups that are available for compilation:
Now you can define which packages you want to build. For example, if you want to build them all, simply add the following to .modules-include
echo '$(sipx_all)' > .modules-include
But what if you want to exclude a particular package or group of packages? Not to worry, simply add them to the file .modules-exclude. We'll disable the language projects and the sipXgrandstream project as an example:
echo '$(sipx_lang) sipXgrandstream' > .modules-exclude
To get a full list of the projects that will compile, run
Finalize setting up your build system.
NOTE: You might need EPEL or some required packages will not be available.
make setup.sh sudo ./setup.sh
You can edit setup.sh if needed for your specific situation. Then start the build process:
sudo mkdir /usr/local/sipx sudo chown sipx.sipx /usr/local/sipx make sipx