[FFmpeg-devel] [PATCH 2/2] [WEB] Add generate-doc.sh to generate makeinfo-based ffmpeg docs

Timothy Gu timothygu99 at gmail.com
Mon Sep 1 04:53:31 CEST 2014


Signed-off-by: Timothy Gu <timothygu99 at gmail.com>
---

Changes:

- src/template_doctitle is not deleted in this commit per Michael's request.

Michael, now this patch should be able to be applied before the server 
patch I will send to you in a moment.

 README          | 12 +-----------
 generate-doc.sh | 41 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 11 deletions(-)
 create mode 100755 generate-doc.sh

diff --git a/README b/README
index 93854ee..7f15db2 100644
--- a/README
+++ b/README
@@ -15,17 +15,7 @@ GENERATE THE DOCUMENTATION
 
 /!\ None of the generated versions of the website contain the documentation.
 
-To generate the documentation pages:
-- Add the HTML wrappers to your environment:
-  $ export FFMPEG_HEADER1="$(cat src/template_head1 src/template_doctitle src/template_head_prod)"
-  $ export FFMPEG_HEADER2="$(cat src/template_head2 src/template_doctitle src/template_head3)"
-  $ export FFMPEG_FOOTER="$(cat src/template_footer1 src/template_footer_prod src/template_footer2)"
-- Get the main ffmpeg repo:
-  $ git clone git://source.ffmpeg.org/ffmpeg.git
-- Compile the documentation using the ffmpeg main repo Makefile:
-  $ make doc
-- Copy the generated HTML files inside the website:
-  $ cp /path/to/ffmpeg/doc/*.html /path/to/ffmpeg-web/htdocs/
+To generate the documentation pages, just `./generate-doc.sh <ffmpeg-src>`.
 
 In case of a major CSS update, please also update the `style.min.css` file in
 the main FFmpeg repo:
diff --git a/generate-doc.sh b/generate-doc.sh
new file mode 100755
index 0000000..f953a9a
--- /dev/null
+++ b/generate-doc.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# Copyright (c) 2014 Tiancheng "Timothy" Gu.
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+die() {
+    echo $1
+    exit 1
+}
+
+if [ $# != 1 ]; then
+    die "Usage: $0 <ffmpeg-source>"
+fi
+
+src=$1
+current_dir=$(pwd)
+
+export FFMPEG_HEADER1="$(cat src/template_head1)"
+export FFMPEG_HEADER2="$(cat src/template_head_prod src/template_head2)"
+export FFMPEG_HEADER3="$(cat src/template_head3)"
+export FFMPEG_FOOTER="$(cat src/template_footer1 src/template_footer_prod src/template_footer2)"
+
+rm -rf build-doc
+mkdir build-doc && cd build-doc
+$src/configure --enable-gpl --disable-yasm || die "configure failed"
+make doc || die "doc not made"
+cp doc/*.html ../htdocs/ || die "copy failed"
+
+cd ..
+rm -rf build-doc
\ No newline at end of file
-- 
1.9.1



More information about the ffmpeg-devel mailing list