Build man pages.
[libtasn1.git] / doc / Makefile.am
bloba0f19fb6a2c9ea6a28d10045f393a2b59d875e58
1 if ENABLE_GTK_DOC
2 SUBDIRS = reference
3 endif
5 EXTRA_DIST = gdoc TODO libtasn1.html libtasn1.ps libtasn1.pdf
7 info_TEXINFOS = libtasn1.texi
8 libtasn1_TEXINFOS = fdl.texi $(gdoc_TEXINFOS)
10 AM_MAKEINFOFLAGS = -I $(top_builddir)/doc
11 AM_MAKEINFOHTMLFLAGS = --no-split
13 dist_man_MANS = $(gdoc_MANS) asn1Parser.1 asn1Coding.1 asn1Decoding.1
15 asn1Parser.1: $(top_srcdir)/src/asn1Parser.c $(top_srcdir)/configure.in
16         $(HELP2MAN) \
17                 --name="ASN.1 syntax tree generator for libtasn1" \
18                 --output=$@ $(top_builddir)/src/asn1Parser$(EXEEXT)
20 asn1Coding.1: $(top_srcdir)/src/asn1Coding.c $(top_srcdir)/configure.in
21         $(HELP2MAN) \
22                 --name="ASN.1 DER encoder" \
23                 --output=$@ $(top_builddir)/src/asn1Coding$(EXEEXT)
25 asn1Decoding.1: $(top_srcdir)/src/asn1Decoding.c $(top_srcdir)/configure.in
26         $(HELP2MAN) \
27                 --name="ASN.1 DER decoder" \
28                 --output=$@ $(top_builddir)/src/asn1Decoding$(EXEEXT)
30 gdoc_MANS = man/asn1_get_length_der.3 man/asn1_get_tag_der.3 man/asn1_get_octet_der.3 man/asn1_get_bit_der.3 man/asn1_der_decoding.3 man/asn1_der_decoding_element.3 man/asn1_der_decoding_startEnd.3 man/asn1_expand_any_defined_by.3 man/asn1_expand_octet_string.3 man/libtasn1_perror.3 man/libtasn1_strerror.3 man/asn1_find_node.3 man/asn1_check_version.3 man/asn1_length_der.3 man/asn1_octet_der.3 man/asn1_bit_der.3 man/asn1_der_coding.3 man/asn1_write_value.3 man/asn1_read_value.3 man/asn1_read_tag.3 man/asn1_array2tree.3 man/asn1_delete_structure.3 man/asn1_delete_element.3 man/asn1_create_element.3 man/asn1_print_structure.3 man/asn1_number_of_elements.3 man/asn1_find_structure_from_oid.3 man/asn1_copy_node.3 man/asn1_parser2tree.3 man/asn1_parser2array.3
31 gdoc_TEXINFOS = texi/decoding.c.texi texi/errors.c.texi texi/parser_aux.c.texi texi/coding.c.texi texi/element.c.texi texi/gstr.c.texi texi/structure.c.texi texi/ASN1.c.texi texi/asn1_get_length_der.texi texi/asn1_get_tag_der.texi texi/asn1_get_octet_der.texi texi/asn1_get_bit_der.texi texi/asn1_der_decoding.texi texi/asn1_der_decoding_element.texi texi/asn1_der_decoding_startEnd.texi texi/asn1_expand_any_defined_by.texi texi/asn1_expand_octet_string.texi texi/libtasn1_perror.texi texi/libtasn1_strerror.texi texi/asn1_find_node.texi texi/asn1_check_version.texi texi/asn1_length_der.texi texi/asn1_octet_der.texi texi/asn1_bit_der.texi texi/asn1_der_coding.texi texi/asn1_write_value.texi texi/asn1_read_value.texi texi/asn1_read_tag.texi texi/asn1_array2tree.texi texi/asn1_delete_structure.texi texi/asn1_delete_element.texi texi/asn1_create_element.texi texi/asn1_print_structure.texi texi/asn1_number_of_elements.texi texi/asn1_find_structure_from_oid.texi texi/asn1_copy_node.texi texi/asn1_parser2tree.texi texi/asn1_parser2array.texi
33 $(gdoc_MANS) $(gdoc_TEXINFOS):
34         make update-makefile
35         make Makefile
36         make doit
38 GDOC_SRC = $(top_srcdir)/lib/decoding.c $(top_srcdir)/lib/errors.c      \
39         $(top_srcdir)/lib/parser_aux.c $(top_srcdir)/lib/coding.c       \
40         $(top_srcdir)/lib/element.c $(top_srcdir)/lib/gstr.c            \
41         $(top_srcdir)/lib/structure.c $(top_builddir)/lib/ASN1.c
43 update-makefile:
44         @MANS=""; \
45         TEXINFOS=""; \
46         for i in $(GDOC_SRC); do \
47                 BASE=`basename $$i`; \
48                 TEXINFOS="$$TEXINFOS texi/$$BASE.texi"; \
49         done; \
50         FUNCS=`$(srcdir)/gdoc -listfunc $(GDOC_SRC)`; \
51         for i in $$FUNCS; do \
52                 MANS="$$MANS man/$$i.3"; \
53                 TEXINFOS="$$TEXINFOS texi/$$i.texi"; \
54         done; \
55         perl -pi -e "s,^gdoc_MANS =.*,gdoc_MANS =$$MANS,;" \
56                 -e "s,^gdoc_TEXINFOS =.*,gdoc_TEXINFOS =$$TEXINFOS,;" \
57                 Makefile.am
59 doit:
60         $(mkdir_p) man texi; \
61         for i in `$(srcdir)/gdoc -listfunc $(GDOC_SRC)`; do \
62                 echo -n "Creating documentation for $$i... " && \
63                 $(srcdir)/gdoc -man \
64                         -module $(PACKAGE) -sourceversion $(VERSION) \
65                         -include libtasn1.h \
66                         -seeinfo $(PACKAGE) -verbatimcopying \
67                         -copyright "2001, 2002, 2003 Fabio Fiorina" \
68                         -function $$i \
69                         $(GDOC_SRC) > man/$$i.3 && \
70                 $(srcdir)/gdoc -texinfo -function $$i \
71                         $(GDOC_SRC) > texi/$$i.texi && \
72                 echo "ok"; \
73         done; \
74         for i in $(GDOC_SRC); do \
75                 BASE=`basename $$i`; \
76                 echo -n "Creating documentation for $$i... " && \
77                 $(srcdir)/gdoc -texinfo $$i > texi/$$BASE.texi && \
78                 echo "ok"; \
79         done
81 .PHONY: update-makefile doit