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

diff --git a/doc/Makefile b/doc/Makefile
index 0acd984..9c8d8ef 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,6 +1,7 @@
 MANPAGES    = $(PROGS-yes:%=doc/%.1)
 PODPAGES    = $(PROGS-yes:%=doc/%.pod)
 HTMLPAGES   = $(PROGS-yes:%=doc/%.html)                                 \
+              doc/build_system.html                                     \
               doc/developer.html                                        \
               doc/faq.html                                              \
               doc/fate.html                                             \
diff --git a/doc/build_system.texi b/doc/build_system.texi
new file mode 100644
index 0000000..1ed385e
--- /dev/null
+++ b/doc/build_system.texi
@@ -0,0 +1,65 @@
+\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{posix shell} script,
+@command{configure}, and @command{make} rules.
+
+@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 makefiles are non-recursive, is possible to build every component of
+Libav directly from the root directory.
+
+The common rules 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, build all the libraries and the executables.
+@item install
+Install headers, libraries and programs.
+@item examples
+Build the basic examples.
+@item documentation
+Generate 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, remove object files and binaries.
+@item distclean
+Remove 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