Normally, an app will have an entire directory of information, the least of which are the source code and the Makefile. If you have that, you put it into the system (I use /usr/src/…) and install the asterisk-devel package. This package sets up the environment for your custom app install.
The process is used in the Chan-SCCP-B Installation instructions if you want to see the full set of typical steps. This topic: Cant compile chan-sccp chan-sccp_master for my Ciso 797x phones actually has a lot of background in addition to some good resources if you want to install a new app.