Development Tools
Now we have the source code. We have to compile it to produce an executable
program. To do this, we utilize some standard development tools to automate the process.
- GNU C/C++ compiler
The GNU C/C++ compiler is the de facto standard compiler used by all
distributions of Linux. In some cases, a development project may require
the use of gcc (the Gnu C Compiler).
- GNU Make
The GNU Make program is a utility that automates the compilation and linking
steps of a build. make can be used for many different purposes, though.
make uses the concept of targets. Makefiles are very picky about
the text put into them, though. Their syntax is different than any other
similar utility. Unless your doing development, you won't need to worry about
the syntax of the make utility.
- Autoconf
Autoconf is a configuration tool to help aid in the automation of configuring
the links, source code includes, and dependencies of the build. Autoconf is
responsible for creating the configure script from the configure.in
script. The configure.in script is a template that is filled in
during the configuration phase of the build.
- Automake
Automake is tool to produce the Makefiles required by GNU Make. These files
tell how the source code is to be built. This tool is the one that allows you
to setup different install directories and other environmental variables and
date.
- Libtool
Libtool is a program that simplifies the building of shared and static libraries. It is a convenience for the developer, but is required to build the packages
from source code.
- PERL
PERL is not a standard development tool, but a powerful scripting language. It
stands for Practical Extraction and Report Language. Many developers will
utilize PERL for automating various procedures. OpenSSL, for example, uses
PERL to setup the links and dependency information for a build.
- Proprietary Build Scripts
Some software will come with prebuilt Makefiles or preset configurations.
These tend to be less flexible in their configurations, but are also usually
easier to get working due to the testing of the build scripts. One such package
that uses this is PINE (an email client program from the University of Washington).
With all of these tools installed, you should be able to compile just about
any source code project.