Next Up Previous Contents
Next: A.28 STAR_SUPPRESS_BUILD_IF
Up: A The Starconf macros and variables
Previous: A.26 STAR_PREDIST_SOURCES
[ID index][Keyword index]

A.27 STAR_SPECIAL_INSTALL_COMMAND

Third-party sources will not come with a make install target which installs a manifest. It is reasonably easy to add such support, however, as described in Section 4.5.3. The crucial feature is the one line installation command declared in the macro STAR_SPECIAL_INSTALL_COMMAND. If this macro variable is present in a configure.ac file, then Starlink automake will generate an install target which uses this command to do the installation, in such a way that a manifest file can be generated automatically. The argument to this macro is executed as the last command (or commands) in a subshell, the exit value of which is tested for a success status. For this to work, the command must have the following features:

  1. It must include the exact string $(MAKE) (as opposed to plain `make'), as part of some $(MAKE) ... install command.
  2. It must be prepared to install its files in a location which is prefixed by the value of the environment variable $DESTDIR. Recent versions of automake generate support for this variable automatically, older versions appear to have had the same functionality, but used a variable $INSTALL_ROOT for it.
  3. The subshell within which the given command is executed must exit with a zero status if the command is successful, and a non-zero status otherwise. This will happen if, for example, the last command in the macro argument is a `make' command, since this exits with a non-zero status if the make fails, and this is passed on to the containing shell.
The example shown in Section 4.5.3 shows a use of this macro which satisfies these constraints.

The command may be as complicated as you like, but note that it is collapsed onto a single line by autoconf, so although you may spread the macro argument over several lines for readability, each command must be separated by a semicolon (or double-ampersand or double-bar).

See Section 4.5 for general discussion of importing third-party sources.


Next Up Previous Contents
Next: A.28 STAR_SUPPRESS_BUILD_IF
Up: A The Starconf macros and variables
Previous: A.26 STAR_PREDIST_SOURCES
[ID index][Keyword index]
The Starlink Build System
Starlink System Note 78
Norman Gray, Peter W Draper, Mark B Taylor, Steven E Rankin
11 April 2005. Release snapshot: $Revision: 1.116 $. Last updated 28 May 2006