[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The pseudo macro is used to tell AutoGen how to process a template. It tells autogen:
The next several components may be intermingled:
(suffix)
scheme function (see section 3.4.32 `suffix' - get the current suffix).
The suffix specification consists of a sequence of POSIX compliant file name
characters and, optionally, an equal sign and a file name "printf"-style
formatting string. Two string arguments are allowed for that string:
the base name of the definition file and the current suffix (that being
the text to the left of the equal sign). (Note: "POSIX compliant file
name characters" consist of alphanumerics plus the period (.
),
hyphen (-
) and underscore (_
) characters.)
#
]),
and edit mode comments (text between pairs of -*-
strings).
(setenv "SHELL" "/bin/sh") |
This is extremely useful to ensure that the shell used is the one the template was written to use. By default, AutoGen determines the shell to use by user preferences. Sometimes, that can be the "csh", though.
The scheme expression can also be used to save a pre-existing output file for later text extraction (see section 3.5.4 `extract' - extract text from another file).
(shellf "mv -f %1$s.c %1$s.sav" (base-name)) |
It is generally a good idea to use some sort of opening
bracket in the starting macro and closing bracket in the ending
macro (e.g. {
, (
, [
, or even <
in the starting macro). It helps both visually and with editors
capable of finding a balancing parenthesis. The closing marker
may not begin with an open parenthesis, as that is used
to enclose a scheme expression.
It is also helpful to avoid using the comment marker (#
);
the POSIXly acceptable file name characters period (.
),
hyphen (-
) and underscore (_
); and finally, it is
advisable to avoid using any of the quote characters double,
single or back-quote. But there is no special check for any of
these advisories.
As an example, assume we want to use [+
and +]
as the start
and end macro markers, and we wish to produce a `.c' and a `.h'
file, then the first macro invocation will look something like this:
[+ AutoGen5 template -*- Mode: emacs-mode-of-choice -*- h=chk-%s.h c # make sure we don't use csh: (setenv "SHELL" "/bin/sh") +] |
The template proper starts after the pseudo-macro. The starting character is either the first non-whitespace character or the first character after the newline that follows the end macro marker.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |