====== Build Tools ==
This page about How to build applications on Linux. ISO C and its standard library are described in [[c]]. POSIX/Linux specific features and enhancements are described in [[:becki:my:linux:linux programming]].
===== indent ==
Use [[man>indent]] to constistently format your C-code. Here a configuration example for ''indent'' to be put in ''$HOME/.indent.pro'':
/* Default Config: Use Kernighan & Ritchie coding style: */
--k-and-r-style
/* My minor variants to Kernighan & Ritchie Style: */
--line-length 80 /* Because default is 75 */
--no-tabs /* Use spaces instead of tabs */
-brf /* Place function opening brace after function declaration */
Usage:
find -name '*.c' -print0 | xargs -0 indent
indent needs files with Unix line ends (''\n'') as input. Files with other line endings can be converted with ''fromdos'' or ''sbfromdos''
===== GNU gcc / g++ ==
See [[GNU GCC]]
===== GNU Gprof ==
See [[GNU Gprof]]
===== Make ==
See [[GNU Make]]
===== pkg-config ==
http://people.freedesktop.org/~dbn/pkg-config-guide.html
===== Automake ==
[[http://www.gnu.org/software/automake/manual/html_node/index.html#Top|Manual]]
[Makefile.am] → (automake) ⇒ [Makefile.in]
===== Autoconf ==
[[http://www.gnu.org/software/autoconf/manual/html_node/index.html#Top|Manual]]
[Makefile.in]
⇓
[configure.ac] → (autoconf) ⇒ [(configure)] ⇒ [Makefile] -> make ⇒ ...