A start at syntax-rules docs
[bpt/guile.git] / doc / ref / Makefile.am
1 ## Process this file with Automake to create Makefile.in
2 ##
3 ## Copyright (C) 1998, 2004, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
4 ##
5 ## This file is part of GUILE.
6 ##
7 ## GUILE is free software; you can redistribute it and/or modify it
8 ## under the terms of the GNU Lesser General Public License as
9 ## published by the Free Software Foundation; either version 3, or
10 ## (at your option) any later version.
11 ##
12 ## GUILE is distributed in the hope that it will be useful, but
13 ## WITHOUT ANY WARRANTY; without even the implied warranty of
14 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ## GNU Lesser General Public License for more details.
16 ##
17 ## You should have received a copy of the GNU Lesser General Public
18 ## License along with GUILE; see the file COPYING.LESSER. If not,
19 ## write to the Free Software Foundation, Inc., 51 Franklin Street,
20 ## Fifth Floor, Boston, MA 02110-1301 USA
21
22 AUTOMAKE_OPTIONS = gnu
23
24 BUILT_SOURCES = lib-version.texi standard-library.texi
25
26 info_TEXINFOS = guile.texi
27
28 guile_TEXINFOS = preface.texi \
29 intro.texi \
30 libguile-program.texi \
31 scheme-intro.texi \
32 api-scm.texi \
33 api-snarf.texi \
34 api-smobs.texi \
35 scheme-ideas.texi \
36 api-data.texi \
37 api-procedures.texi \
38 api-macros.texi \
39 api-utility.texi \
40 api-binding.texi \
41 api-control.texi \
42 api-io.texi \
43 api-evaluation.texi \
44 api-memory.texi \
45 api-modules.texi \
46 api-scheduling.texi \
47 api-options.texi \
48 api-translation.texi \
49 api-i18n.texi \
50 api-debug.texi \
51 scheme-reading.texi \
52 scheme-indices.texi \
53 slib.texi \
54 posix.texi \
55 expect.texi \
56 scsh.texi \
57 tcltk.texi \
58 scheme-scripts.texi \
59 api-overview.texi \
60 scheme-debugging.texi \
61 scheme-using.texi \
62 indices.texi \
63 script-getopt.texi \
64 data-rep.texi \
65 repl-modules.texi \
66 srfi-modules.texi \
67 misc-modules.texi \
68 api-compound.texi \
69 autoconf.texi \
70 autoconf-macros.texi \
71 tools.texi \
72 history.texi \
73 vm.texi \
74 compiler.texi \
75 fdl.texi \
76 libguile-concepts.texi \
77 libguile-smobs.texi \
78 libguile-snarf.texi \
79 libguile-linking.texi \
80 libguile-extensions.texi \
81 api-init.texi \
82 mod-getopt-long.texi \
83 goops.texi \
84 goops-tutorial.texi \
85 effective-version.texi
86
87 ETAGS_ARGS = $(info_TEXINFOS) $(guile_TEXINFOS)
88
89 PICTURES = hierarchy.eps \
90 hierarchy.pdf \
91 hierarchy.png \
92 hierarchy.txt \
93 gds.eps \
94 gds.pdf \
95 gds.txt \
96 scheme.eps \
97 scheme.pdf \
98 scheme.txt \
99 mop.text
100
101 noinst_DATA = $(PICTURES)
102
103 EXTRA_DIST = ChangeLog-2008 $(PICTURES)
104
105 include $(top_srcdir)/am/pre-inst-guile
106
107 # Automated snarfing
108
109 autoconf.texi: autoconf-macros.texi
110 autoconf-macros.texi: $(top_srcdir)/meta/guile.m4
111 GUILE_AUTO_COMPILE=0 $(top_builddir)/meta/uninstalled-env guile-tools \
112 snarf-guile-m4-docs $(top_srcdir)/meta/guile.m4 \
113 > $(srcdir)/$@
114
115 lib-version.texi: $(top_srcdir)/GUILE-VERSION
116 cat "$^" | grep '^LIBGUILE_.*_MAJOR' | \
117 sed 's/^LIBGUILE_\([A-Z0-9_]*\)_MAJOR=\([0-9]\+\)/@set LIBGUILE_\1_MAJOR \2/' \
118 > "$@"
119
120 MAINTAINERCLEANFILES = autoconf-macros.texi
121
122 # To allow "make distcheck" to succeed, lib-version.texi must either
123 # be cleaned or be included in the distribution. Or both - and in
124 # fact both are good. There's no point forcing a distribution build
125 # to regenerate lib-version.texi, because it can't possibly be
126 # different on the build machine than where the distribution was
127 # generated, so we might as well include it in the distribution.
128 EXTRA_DIST += lib-version.texi
129 # But when we want to get back to a clean tree, lib-version.texi
130 # should be cleaned.
131 CLEANFILES = lib-version.texi
132
133 # Support for snarfing docs out of Scheme modules.
134 snarf_doc = standard-library
135
136 $(snarf_doc).am: $(snarf_doc).scm
137 GUILE_AUTO_COMPILE=0 ; \
138 variable="`echo $(snarf_doc) | tr - _`_scm_files" ; \
139 "$(preinstguile)" -l "$(srcdir)/$(snarf_doc).scm" -c " \
140 (format #t \"# Automatically generated, do not edit.~%\") \
141 (format #t \"$$variable = \") \
142 (for-each (lambda (m) \
143 (format #t \"$$""(top_srcdir)/module/~a.scm \" \
144 (string-join (map symbol->string m) \"/\"))) \
145 (map car *modules*))" > "$@.tmp"
146 mv "$@.tmp" "$@"
147
148 # The following line leads to the definition of $(standard_library_scm_files).
149 include standard-library.am
150
151 $(snarf_doc).texi: $(standard_library_scm_files)
152 GUILE_AUTO_COMPILE=0 \
153 "$(preinstguile)" "$(srcdir)/make-texinfo.scm" \
154 "$(abs_srcdir)/$(snarf_doc).scm" > "$@.tmp"
155 mv "$@.tmp" "$@"
156
157 CLEANFILES += $(snarf_doc).texi
158 EXTRA_DIST += $(snarf_doc).scm make-texinfo.scm $(snarf_doc).texi $(snarf_doc).am