Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: b4c4599111
Fetching contributors…

Cannot retrieve contributors at this time

file 86 lines (66 sloc) 3.235 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

1. unpack the source tarball and cd to the resulting dir

2. # autoconf
   this reads configure.in and generates the ./configure script

3. # ./configure
   this probes your system and then, for each "file" named
   in the AC_OUTPUT() macro near the end of configure.in,
   read "file".in and generate "file". Variables named @somevariable@
   will be substituted with literal values.

4. step (3) produces several files. These files are generated by
   configure from their respective .in file in the same directory.
   You should have a read of these generated files and diff them
   against their respective .in files to see what was substituted
   by configure.

   src/include/builddefs
    common definitions for the build environment. This is included
by all Makefiles, in conjunction with src/include/buildrules.
Note that most autoconf/configure build environments generate
Makefile (from Makefile.in) in every src dir. Instead, we
generate builddefs, and then include it in every Makefile.

   src/include/platform_defs.h
    header containing conditional macros defining the C run-time
environment discovered by the configure script.

5. read some or all of the GNU tool chain documentation
   GNU make :
       http://www.delorie.com/gnu/docs/make/make_toc.html
   autoconf :
     http://www.delorie.com/gnu/docs/autoconf/autoconf_toc.html
   libtool :
     http://www.delorie.com/gnu/docs/libtool/libtool_toc.html
   gcc/g++ :
     http://www.delorie.com/gnu/docs/gcc/gcc_toc.html

6. Makefiles and build environment
   First have a look at some Makefiles

    example using SUBDIRS : richacl/Makefile
        example static library: richacl/librichacl/Makefile
        example command : richacl/richacl/Makefile

   All Makefiles must define TOPDIR as the root of the project. This
   allows other stuff to be found relative to $(TOPDIR).

   All Makefiles should have the following structure, which is
   much like commondefs and commonrules in the IRIX build environment, e.g.

   # ----------------------------------------------------------------------
   # TOPDIR must point to the root of the project
   # The builddefs file defines lots of things. Read it.
   TOPDIR = ..
   include $(TOPDIR)/include/builddefs

   # first rule should always be "default"
   default : sometarget
    commands to build targets, if necessary

   # $(BUILDRULES) is defined in builddefs and includes rules for
   # descending subdirs, building targets and installation rules
   include $(BUILDRULES)

   install : default
    $(INSTALL) sometargets somewhere
   # ----------------------------------------------------------------------

7. packaging

   # ./Makepkgs
   this script generates all of the packages supported - each has a
   subdirectory below richacl/build where knowledge specific to each
   package type is maintained.

   The script produces logs of each stage of the build (this info is
   also echoed to the screen when the "verbose" option is provided):

richacl/Logs/configure - `autoconf; ./configure' output
richacl/Logs/default - `make default' output
richacl/Logs/dist - `make build dist' output

   On successful completion, the script echoes the names of packages
   successfully generated.
Something went wrong with that request. Please try again.