Build: Create doxygen/update-doxygen script.
[xz.git] / Makefile.am
blob6d52e0f0e8f218dae86f7898539d5e6c90be4b8c
1 ##
2 ## Author: Lasse Collin
3 ##
4 ## This file has been put into the public domain.
5 ## You can do whatever you want with this file.
6 ##
8 # Use -n to prevent gzip from adding a timestamp to the .gz headers.
9 GZIP_ENV = -9n
11 DIST_SUBDIRS = lib src po tests debug
12 SUBDIRS =
14 if COND_GNULIB
15 SUBDIRS += lib
16 endif
18 SUBDIRS += src po tests
20 if COND_DOC
21 dist_doc_DATA = \
22         AUTHORS \
23         COPYING \
24         COPYING.GPLv2 \
25         NEWS \
26         README \
27         THANKS \
28         TODO \
29         doc/faq.txt \
30         doc/history.txt \
31         doc/xz-file-format.txt \
32         doc/lzma-file-format.txt
34 examplesdir = $(docdir)/examples
35 dist_examples_DATA = \
36         doc/examples/00_README.txt \
37         doc/examples/01_compress_easy.c \
38         doc/examples/02_decompress.c \
39         doc/examples/03_compress_custom.c \
40         doc/examples/04_compress_easy_mt.c \
41         doc/examples/Makefile
43 examplesolddir = $(docdir)/examples_old
44 dist_examplesold_DATA = \
45         doc/examples_old/xz_pipe_comp.c \
46         doc/examples_old/xz_pipe_decomp.c
48 # Install the Doxygen generated documentation if they were built.
49 install-data-local:
50         if test -d "$(srcdir)/doc/liblzma" ; then \
51                 $(MKDIR_P) "$(DESTDIR)$(docdir)/liblzma" && \
52                 $(INSTALL_DATA) "$(srcdir)"/doc/liblzma/* \
53                         "$(DESTDIR)$(docdir)/liblzma"; \
54         fi
56 # Remove the Doxygen generated documentation when uninstalling.
57 uninstall-local:
58         rm -rf "$(DESTDIR)$(docdir)/liblzma"
59 endif
61 EXTRA_DIST = \
62         po4a \
63         extra \
64         dos \
65         doxygen \
66         windows \
67         macosx \
68         cmake \
69         CMakeLists.txt \
70         autogen.sh \
71         COPYING.GPLv2 \
72         COPYING.GPLv3 \
73         COPYING.LGPLv2.1 \
74         INSTALL.generic \
75         PACKAGERS \
76         build-aux/manconv.sh \
77         build-aux/version.sh
79 ACLOCAL_AMFLAGS = -I m4
81 # List of man pages to convert to PDF and plain text in the dist-hook target.
82 manfiles = \
83         src/xz/xz.1 \
84         src/xzdec/xzdec.1 \
85         src/lzmainfo/lzmainfo.1 \
86         src/scripts/xzdiff.1 \
87         src/scripts/xzgrep.1 \
88         src/scripts/xzless.1 \
89         src/scripts/xzmore.1
91 # Create ChangeLog from output of "git log --date=iso --stat".
92 # Convert the man pages to PDF and plain text (ASCII only) formats.
93 dist-hook:
94         if test -d "$(srcdir)/.git" && type git > /dev/null 2>&1; then \
95                 ( cd "$(srcdir)" && git log --date=iso --stat \
96                         6060f7dc76fd6c2a8a1f8e85d0e4d86bb78273e6^..HEAD ) \
97                         > "$(distdir)/ChangeLog"; \
98         fi
99         if type groff > /dev/null 2>&1 && type ps2pdf > /dev/null 2>&1; then \
100                 dest="$(distdir)/doc/man" && \
101                 $(MKDIR_P) "$$dest/pdf-a4" "$$dest/pdf-letter" "$$dest/txt" && \
102                 for FILE in $(manfiles); do \
103                         BASE=`basename $$FILE .1` && \
104                         sh "$(srcdir)/build-aux/manconv.sh" pdf a4 \
105                                 < "$(srcdir)/$$FILE" \
106                                 > "$$dest/pdf-a4/$$BASE-a4.pdf" && \
107                         sh "$(srcdir)/build-aux/manconv.sh" pdf letter \
108                                 < "$(srcdir)/$$FILE" \
109                                 > "$$dest/pdf-letter/$$BASE-letter.pdf" && \
110                         sh "$(srcdir)/build-aux/manconv.sh" ascii \
111                                 < "$(srcdir)/$$FILE" \
112                                 > "$$dest/txt/$$BASE.txt"; \
113                 done; \
114         fi
115         if test -d "$(srcdir)/doc/liblzma" ; then \
116                 $(MKDIR_P) "$(distdir)/doc/liblzma" && \
117                 $(INSTALL_DATA) "$(srcdir)"/doc/liblzma/* \
118                         "$(distdir)/doc/liblzma"; \
119         fi
121 # This works with GNU tar and gives cleaner package than normal 'make dist'.
122 # This also ensures that the man page translations are up to date (dist-hook
123 # would be too late for that).
124 mydist:
125         sh "$(srcdir)/src/liblzma/validate_map.sh"
126         cd "$(srcdir)/po4a" && sh update-po
127         cd "$(srcdir)/doxygen" && sh update-doxygen
128         VERSION=$(VERSION); \
129         if test -d "$(srcdir)/.git" && type git > /dev/null 2>&1; then \
130                 SNAPSHOT=`cd "$(srcdir)" && git describe --abbrev=4 | cut -b2-`; \
131                 test -n "$$SNAPSHOT" && VERSION=$$SNAPSHOT; \
132         fi; \
133         TAR_OPTIONS='--owner=0 --group=0 --numeric-owner --mode=u+rw,go+r-w' \
134                 $(MAKE) VERSION="$$VERSION" dist-gzip