It is a slight extension of build_system.txt
---
 doc/Makefile          |    3 +-
 doc/build_system.texi |   63 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+), 1 deletions(-)
 create mode 100644 doc/build_system.texi

diff --git a/doc/Makefile b/doc/Makefile
index 0acd984..2474f6a 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,7 +1,8 @@
 MANPAGES    = $(PROGS-yes:%=doc/%.1)
 PODPAGES    = $(PROGS-yes:%=doc/%.pod)
 HTMLPAGES   = $(PROGS-yes:%=doc/%.html)                                 \
-              doc/developer.html                                        \
+             doc/build_system.html                                     \
+             doc/developer.html                                        \
               doc/faq.html                                              \
               doc/fate.html                                             \
               doc/general.html                                          \
diff --git a/doc/build_system.texi b/doc/build_system.texi
new file mode 100644
index 0000000..afbdb49
--- /dev/null
+++ b/doc/build_system.texi
@@ -0,0 +1,63 @@
+\input texinfo @c -*- texinfo -*-
+
+@settitle Build System Guide
+
+@titlepage
+@center @titlefont{Build System Guide}
+@end titlepage
+
+@top
+
+@contents
+
+@chapter Structure
+
+The Libav build system is composed of a @command{bash} script,
+@command{configure}, and a number of @command{make} scripts.
+
+@command{configure} generates @code{config.mak}, @code{config.h}, and
+the @command{pkg-config} files.
+Then it is possible to build and install Libav by running @command{make}
+
+The @command{make} scripts are non-recursive.
+The common code needed to build the different libraries is located
+in @code{subdir.mak}, @code{common.mak} contains the common definitions
+for the internal variables and the @code{Makefile} present in each directory
+contain just the list of the objects and headers that compose the specific
+library.
+
+
+@section Makefile variables
+
+@table @option
+@item V
+Disable the default terse mode, the full command issued by make and its
+output will be shown on the screen.
+@item DESTDIR
+Destination directory for the install targets, useful to prepare packages
+or install Libav in cross-environments.
+@end table
+
+@section Makefile targets
+
+@table @option
+@item all
+Default target, builds all the libraries and the executables.
+@item install
+Install headers, libraries and programs.
+@item examples
+Build the basic examples
+@item documentation
+Generates the html documentation and the programs man pages
+@item config
+Rerun configure with the options previously given. Useful when
+updating sources or developing new features.
+@item clean
+Default clean directive, removes object files and binaries
+@item distclean
+Removes everything generated by @command{configure} and @command{make}.
+If using a @command{git} tree, @command{git clean -x -d -f} is a quicker
+alternative.
+@end table
+
+@bye
-- 
1.7.8.rc1

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to