chiark / gitweb /
Add build machinery for the manual.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 30 Aug 2015 09:58:38 +0000 (10:58 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 20 Sep 2015 13:49:05 +0000 (14:49 +0100)
Makefile.am
configure.ac
debian/control
debian/sod-doc.install [new file with mode: 0644]
doc/Makefile.am [new file with mode: 0644]

index d1a016db2876c7ac1564b10fcb3c681fe8da5f07..302119bf27b3977c1c1874a6c4f4acaee2a4f7cd 100644 (file)
@@ -47,6 +47,9 @@ SUBDIRS                       += src
 ## The runtime support library.
 SUBDIRS                        += lib
 
+## The manual.
+SUBDIRS                        += doc
+
 ## The tests and examples.
 SUBDIRS                        += test
 
@@ -77,6 +80,9 @@ EXTRA_DIST              += debian/libsod-dev.install
 ## sod
 EXTRA_DIST              += debian/sod.install
 
+## sod-doc
+EXTRA_DIST              += debian/sod-doc.install
+
 ## sod-dev
 EXTRA_DIST              += debian/sod-dev.install
 
index c1fed5079053d8712cc24d44d3e8a9e18c125576..73a903ac162bc4fd95a948fcc55edf0434815fc5 100644 (file)
@@ -105,7 +105,12 @@ AC_SUBST([lispsysdir], [$with_lisp_system_dir])
 dnl--------------------------------------------------------------------------
 dnl Output.
 
-AC_CONFIG_FILES([Makefile src/Makefile lib/Makefile test/Makefile])
+AC_CONFIG_FILES(
+  [Makefile]
+  [src/Makefile]
+  [lib/Makefile]
+  [doc/Makefile]
+  [test/Makefile])
 AC_OUTPUT
 
 dnl----- That's all, folks --------------------------------------------------
index 4fda78f5aa47d94dc0d6051a97e3e8d00ee615f4..d94b77d103085d32d1bee87213b7b093d6f9931c 100644 (file)
@@ -36,7 +36,7 @@ Description: An object system for C, runtime library
 Package: sod
 Architecture: any
 Depends: ${shlibs:Depends}
-Recommends: libsod-dev (= ${Source-Version})
+Recommends: libsod-dev (= ${Source-Version}), sod-doc (= ${Source-Version})
 Description: An object system for C, translator
  Sod is a `sensible object design' for C, supporting a number of fancy
  features, including multiple inheritance, method combinations with daemon
@@ -46,9 +46,20 @@ Description: An object system for C, translator
  This package contains the Sod translator, which reads object definitions and
  produces compilable C code.
 
+Package: sod-doc
+Architecture: all
+Description: An object system for C, translator
+ Sod is a `sensible object design' for C, supporting a number of fancy
+ features, including multiple inheritance, method combinations with daemon
+ methods, and a compile-time metaprotocol.  The only downside is that the
+ translator is written in Common Lisp.
+ .
+ This package contains the Sod manual, which describes everything in
+ excruciating detail.
+
 Package: sod-dev
 Architecture: any
-Recommends: sbcl | clisp, cl-asdf, cl-xlunit
+Recommends: sbcl | clisp, cl-asdf, cl-xlunit, sod-doc (= ${Source-Version})
 Description: An object system for C, Lisp source
  Sod is a `sensible object design' for C, supporting a number of fancy
  features, including multiple inheritance, method combinations with daemon
diff --git a/debian/sod-doc.install b/debian/sod-doc.install
new file mode 100644 (file)
index 0000000..eac8396
--- /dev/null
@@ -0,0 +1 @@
+usr/share/doc/sod/*                    /usr/share/doc/sod-doc/
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644 (file)
index 0000000..882f01b
--- /dev/null
@@ -0,0 +1,74 @@
+### -*-makefile-*-
+###
+### Build script for the manual
+###
+### (c) 2015 Straylight/Edgeware
+###
+
+###----- Licensing notice ---------------------------------------------------
+###
+### This file is part of the Sensble Object Design, an object system for C.
+###
+### SOD is free software; you can redistribute it and/or modify
+### it under the terms of the GNU General Public License as published by
+### the Free Software Foundation; either version 2 of the License, or
+### (at your option) any later version.
+###
+### SOD is distributed in the hope that it will be useful,
+### but WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+### GNU General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with SOD; if not, write to the Free Software Foundation,
+### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+include $(top_srcdir)/vars.am
+
+doc_DATA                =
+TEX_FILES               =
+
+CLEANFILES             += *.aux *.out *.log *.toc
+EXTRA_DIST             += $(TEX_FILES)
+
+###--------------------------------------------------------------------------
+### The manual.
+
+## The master file.
+TEX_FILES              += sod.tex
+
+## Main document styling and definitions.
+TEX_FILES              += sod.sty
+
+## Tutorial.
+TEX_FILES              += tutorial.tex
+
+## Reference.
+TEX_FILES              += concepts.tex
+##TEX_FILES            += cmdline.tex
+TEX_FILES              += syntax.tex
+TEX_FILES              += runtime.tex
+TEX_FILES              += structures.tex
+
+## Lisp interface.
+TEX_FILES              += lispintro.tex
+TEX_FILES              += misc.tex
+TEX_FILES              += parsing.tex
+TEX_FILES              += clang.tex
+##TEX_FILES            += meta.tex
+##TEX_FILES            += layout.tex
+##TEX_FILES            += module.tex
+##TEX_FILES            += ouptut.tex
+
+## Other hacks.
+TEX_FILES              += cutting-room-floor.tex
+
+## Building the output documents.
+MAINTAINERCLEANFILES   += sod.pdf
+EXTRA_DIST             += sod.pdf
+doc_DATA               += sod.pdf
+sod.pdf: $(TEX_FILES)
+       cd $(srcdir) && pdflatex --output-directory=$(abs_builddir) sod.tex
+       cd $(srcdir) && pdflatex --output-directory=$(abs_builddir) sod.tex
+
+###----- That's all, folks --------------------------------------------------