Initialize Tizen 2.3
[external/libtasn1.git] / doc / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2 # Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
3 # Free Software Foundation, Inc.
4 #
5 # This file is part of LIBTASN1.
6 #
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20 SUBDIRS = cyclo
21 if ENABLE_GTK_DOC
22 SUBDIRS += reference
23 endif
24
25 EXTRA_DIST = gdoc TODO libtasn1.html libtasn1.ps libtasn1.pdf
26
27 info_TEXINFOS = libtasn1.texi
28 libtasn1_TEXINFOS = fdl-1.3.texi texinfo.css $(gdoc_TEXINFOS)
29
30 AM_MAKEINFOFLAGS = -I $(top_builddir)/doc
31 TEXI2DVI = texi2dvi $(AM_MAKEINFOFLAGS)
32 AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) \
33         --no-split --number-sections --css-include=texinfo.css
34
35 dist_man_MANS = $(gdoc_MANS) asn1Parser.1 asn1Coding.1 asn1Decoding.1
36
37 HELP2MAN_OPTS = --info-page libtasn1
38
39 asn1Parser.1: $(top_srcdir)/src/asn1Parser.c $(top_srcdir)/configure.ac
40         $(HELP2MAN) $(HELP2MAN_OPTS) \
41                 --name="ASN.1 syntax tree generator for libtasn1" \
42                 --output=$@ $(top_builddir)/src/asn1Parser$(EXEEXT)
43
44 asn1Coding.1: $(top_srcdir)/src/asn1Coding.c $(top_srcdir)/configure.ac
45         $(HELP2MAN) $(HELP2MAN_OPTS) \
46                 --name="ASN.1 DER encoder" \
47                 --output=$@ $(top_builddir)/src/asn1Coding$(EXEEXT)
48
49 asn1Decoding.1: $(top_srcdir)/src/asn1Decoding.c $(top_srcdir)/configure.ac
50         $(HELP2MAN) $(HELP2MAN_OPTS) \
51                 --name="ASN.1 DER decoder" \
52                 --output=$@ $(top_builddir)/src/asn1Decoding$(EXEEXT)
53
54 gdoc_MANS =
55 gdoc_MANS += man/asn1_get_length_der.3
56 gdoc_MANS += man/asn1_get_tag_der.3
57 gdoc_MANS += man/asn1_get_length_ber.3
58 gdoc_MANS += man/asn1_get_octet_der.3
59 gdoc_MANS += man/asn1_get_bit_der.3
60 gdoc_MANS += man/asn1_der_decoding.3
61 gdoc_MANS += man/asn1_der_decoding_element.3
62 gdoc_MANS += man/asn1_der_decoding_startEnd.3
63 gdoc_MANS += man/asn1_expand_any_defined_by.3
64 gdoc_MANS += man/asn1_expand_octet_string.3
65 gdoc_MANS += man/asn1_perror.3
66 gdoc_MANS += man/asn1_strerror.3
67 gdoc_MANS += man/libtasn1_perror.3
68 gdoc_MANS += man/libtasn1_strerror.3
69 gdoc_MANS += man/asn1_find_node.3
70 gdoc_MANS += man/asn1_length_der.3
71 gdoc_MANS += man/asn1_octet_der.3
72 gdoc_MANS += man/asn1_bit_der.3
73 gdoc_MANS += man/asn1_der_coding.3
74 gdoc_MANS += man/asn1_write_value.3
75 gdoc_MANS += man/asn1_read_value.3
76 gdoc_MANS += man/asn1_read_tag.3
77 gdoc_MANS += man/asn1_array2tree.3
78 gdoc_MANS += man/asn1_delete_structure.3
79 gdoc_MANS += man/asn1_delete_element.3
80 gdoc_MANS += man/asn1_create_element.3
81 gdoc_MANS += man/asn1_print_structure.3
82 gdoc_MANS += man/asn1_number_of_elements.3
83 gdoc_MANS += man/asn1_find_structure_from_oid.3
84 gdoc_MANS += man/asn1_copy_node.3
85 gdoc_MANS += man/asn1_parser2tree.3
86 gdoc_MANS += man/asn1_parser2array.3
87 gdoc_MANS += man/asn1_check_version.3
88 gdoc_TEXINFOS =
89 gdoc_TEXINFOS += texi/decoding.c.texi
90 gdoc_TEXINFOS += texi/errors.c.texi
91 gdoc_TEXINFOS += texi/parser_aux.c.texi
92 gdoc_TEXINFOS += texi/coding.c.texi
93 gdoc_TEXINFOS += texi/element.c.texi
94 gdoc_TEXINFOS += texi/gstr.c.texi
95 gdoc_TEXINFOS += texi/structure.c.texi
96 gdoc_TEXINFOS += texi/ASN1.c.texi
97 gdoc_TEXINFOS += texi/version.c.texi
98 gdoc_TEXINFOS += texi/asn1_get_length_der.texi
99 gdoc_TEXINFOS += texi/asn1_get_tag_der.texi
100 gdoc_TEXINFOS += texi/asn1_get_length_ber.texi
101 gdoc_TEXINFOS += texi/asn1_get_octet_der.texi
102 gdoc_TEXINFOS += texi/asn1_get_bit_der.texi
103 gdoc_TEXINFOS += texi/asn1_der_decoding.texi
104 gdoc_TEXINFOS += texi/asn1_der_decoding_element.texi
105 gdoc_TEXINFOS += texi/asn1_der_decoding_startEnd.texi
106 gdoc_TEXINFOS += texi/asn1_expand_any_defined_by.texi
107 gdoc_TEXINFOS += texi/asn1_expand_octet_string.texi
108 gdoc_TEXINFOS += texi/asn1_perror.texi
109 gdoc_TEXINFOS += texi/asn1_strerror.texi
110 gdoc_TEXINFOS += texi/libtasn1_perror.texi
111 gdoc_TEXINFOS += texi/libtasn1_strerror.texi
112 gdoc_TEXINFOS += texi/asn1_find_node.texi
113 gdoc_TEXINFOS += texi/asn1_length_der.texi
114 gdoc_TEXINFOS += texi/asn1_octet_der.texi
115 gdoc_TEXINFOS += texi/asn1_bit_der.texi
116 gdoc_TEXINFOS += texi/asn1_der_coding.texi
117 gdoc_TEXINFOS += texi/asn1_write_value.texi
118 gdoc_TEXINFOS += texi/asn1_read_value.texi
119 gdoc_TEXINFOS += texi/asn1_read_tag.texi
120 gdoc_TEXINFOS += texi/asn1_array2tree.texi
121 gdoc_TEXINFOS += texi/asn1_delete_structure.texi
122 gdoc_TEXINFOS += texi/asn1_delete_element.texi
123 gdoc_TEXINFOS += texi/asn1_create_element.texi
124 gdoc_TEXINFOS += texi/asn1_print_structure.texi
125 gdoc_TEXINFOS += texi/asn1_number_of_elements.texi
126 gdoc_TEXINFOS += texi/asn1_find_structure_from_oid.texi
127 gdoc_TEXINFOS += texi/asn1_copy_node.texi
128 gdoc_TEXINFOS += texi/asn1_parser2tree.texi
129 gdoc_TEXINFOS += texi/asn1_parser2array.texi
130 gdoc_TEXINFOS += texi/asn1_check_version.texi
131
132 $(gdoc_MANS) $(gdoc_TEXINFOS):
133         make update-makefile
134         make Makefile
135         make doit
136
137 GDOC_SRC = $(top_srcdir)/lib/decoding.c $(top_srcdir)/lib/errors.c      \
138         $(top_srcdir)/lib/parser_aux.c $(top_srcdir)/lib/coding.c       \
139         $(top_srcdir)/lib/element.c $(top_srcdir)/lib/gstr.c            \
140         $(top_srcdir)/lib/structure.c $(top_builddir)/lib/ASN1.c        \
141         $(top_builddir)/lib/version.c
142
143 update-makefile:
144         @MANS=""; \
145         TEXINFOS=""; \
146         for i in $(GDOC_SRC); do \
147                 BASE=`basename $$i`; \
148                 TEXINFOS="$$TEXINFOS\ngdoc_TEXINFOS += texi/$$BASE.texi"; \
149         done; \
150         FUNCS=`$(srcdir)/gdoc -listfunc $(GDOC_SRC)`; \
151         for i in $$FUNCS; do \
152                 MANS="$$MANS\ngdoc_MANS += man/$$i.3"; \
153                 TEXINFOS="$$TEXINFOS\ngdoc_TEXINFOS += texi/$$i.texi"; \
154         done; \
155         grep -v -e '^gdoc_MANS += ' -e '^gdoc_TEXINFOS += ' Makefile.am | \
156                 perl -p -e "s,^gdoc_MANS =,gdoc_MANS =$$MANS,;" | \
157                 perl -p -e "s,^gdoc_TEXINFOS =,gdoc_TEXINFOS =$$TEXINFOS,;" \
158                 > foo; \
159         mv foo Makefile.am
160
161 doit:
162         $(mkdir_p) man texi; \
163         for i in `$(srcdir)/gdoc -listfunc $(GDOC_SRC)`; do \
164                 echo -n "Creating documentation for $$i... " && \
165                 $(srcdir)/gdoc -man \
166                         -module $(PACKAGE) \
167                         -pkg-name "$(PACKAGE_NAME)" \
168                         -sourceversion $(VERSION) \
169                         -include libtasn1.h \
170                         -seeinfo $(PACKAGE) -verbatimcopying \
171                         -copyright "2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc." \
172                         -function $$i \
173                         $(GDOC_SRC) > man/$$i.3 && \
174                 $(srcdir)/gdoc -texinfo -function $$i \
175                         $(GDOC_SRC) > texi/$$i.texi && \
176                 echo "ok"; \
177         done; \
178         for i in $(GDOC_SRC); do \
179                 BASE=`basename $$i`; \
180                 echo -n "Creating documentation for $$i... " && \
181                 $(srcdir)/gdoc -texinfo $$i > texi/$$BASE.texi && \
182                 echo "ok"; \
183         done
184
185 .PHONY: update-makefile doit