Difference between revisions of "Build"

From Linuxintro
imported>ThorstenStaerk
imported>ThorstenStaerk
m
Line 10: Line 10:
 
                                                 \
 
                                                 \
 
                                                   -([[configure]])-> [[Makefile]] -
 
                                                   -([[configure]])-> [[Makefile]] -
                                                 /                           \
+
                                                 /                         \
                           (you)-> configure.in -                             -> binary
+
                           (you)-> configure.in -                             -(make)-> binary
                                                                            /
+
                                                                            /
 
                                                         (you)-> sourcecode -
 
                                                         (you)-> sourcecode -
  

Revision as of 17:24, 8 March 2009

Building typically involves the steps

automake
configure
make
make install

there are reasons not to count the "make install" step to the build, but it shall be mentioned here for clarity. Mostly, the automake step is done before bundling and publishing the software so the normal user does not need to do it. There are different files involved into the build process, the following gives an overview about that:

(you)-> Makefile.am -(automake)-> Makefile.in -
                                                \
                                                 -(configure)-> Makefile -
                                                /                          \
                         (you)-> configure.in -                             -(make)-> binary
                                                                           /
                                                       (you)-> sourcecode -

You as a developer write the sourcecode, the configure.in file and the Makefile.am. Makefile.am is transformed by automake to Makefile.in. Makefile.in and configure.in are transformed by configure to Makefile, while the Makefile and the sourcecode together build the binary. So, if you are asked how to write a Makefile, the best answer is "not at all, better have configure write the Makefile.

See also