Hello Markus, * mhoenicka wrote on Sat, Sep 25, 2010 at 12:02:19AM CEST: > I'm maintaining a software project which uses a pretty straightforward > automake/autoconf/libtool setup to build and install the software and the > documentation. The documentation is maintainer-built and shipped with the > tarball. Usually, the end-user does not build the documentation, but just > installs whatever is shipped. I've received a request from a package > maintainer to move the documentation installation to a separate make target. > That is: > > make: should build the software and the docs (if needed) > make install: should install the software, including some DATA files (like a > .pc file), but not the docs > make install-doc: should install only the docs (but not other DATA files) > > Is there a simple way to achieve this?
Well, it is fairly easy to write an install-doc target yourself, likely something like install-doc: install-info install-man install-pdf install-dvi install-ps will already do mostly what you wanted (maybe too much?). However, letting 'make install' not install documentation is not quite as straightforward. The GNU Coding Standards require 'install' to install both programs, data, and some documentation. You'd need to override some of the internal, undocumented, automake-generated rules in the Makefile.am files which deal with documentation, for example the install-data-am rule. FWIW; I'd recommend against this because users are typically fairly used to the "normal" GNU-style install targets and might be a bit surprised about the changed semantics. At the least, you should mention that prominently in your README or so file. There is also 'install-exec' which only installs platform-dependent files, and 'install-data' which does the rest, maybe that is already good enough for you? See info Automake "The Two Parts of Install". Cheers, Ralf