Next: , Previous: , Up: Overview   [Index]


1.5 Goal suffixes

This particular text can be seen by running ‘make help-suffixes’.

Each available goal is comprised of a primary, which gives its general and essential meaning — as build essays (‘all’) or clean the build tree (‘all-clean’) — and an optional set of suffixes which specializes the meaning of the primary they are appended to. There are three different kind of suffixes: aggregate, format and language.

The aggregate suffix type specifies which kind of aggregate should be acted upon: collection or standalone. The former gathers all essays in a single document, and the latter puts each one on its own document.

The format suffix type specifies an output format, like Info or PDF for the correspondent aggregate. The valid format suffixes are:

info

GNU Info format

html

HyperText Markup Language

pdf

Portable Document Format

dvi

Device Independent File

ps

PostScript

txt

Plain Text

dbk

Docbook

xml

Extensible Markup Language

The language suffix type allows one to select the translation language one wants to act upon. It’s a language code like ‘en’ or ‘pt_BR’. Currently, the valid language suffixes are:

en

English

All suffixes should be prepended by ‘-’. For instance, being ‘all’ the primary used to build essays, in order to tell the build system to compile a collection in Info format and Brazilian Portuguese language, one would use the goal ‘all-collection-info-pt_BR’.

In this help text, when listing the available goals, we denote the support for a particular suffix type by the ‘[a]’, ‘[f]’ and ‘[l]’ symbols, meaning aggregate, format and language suffixes, respectively. All suffixes are optional and you can specify any combination of them, but you must always respect that exact ordering.

Omitting a suffix causes the build system to process the correspondent goal for all valid suffixes of the omitted type. For example, the goal ‘all-standalone-pdf-en’ is as specific as one can get and it tells to build standalone aggregates in PDF format and English language. To be more general one can omit any desired suffix of the type one want to generalize upon. For instance, the goal ‘all-standalone-pdf’ builds PDF standalone aggregates for all languages, because the language suffix type was omitted. One could omit the format suffix instead, like in ‘all-standalone-en’, and then all the standalone aggregates in all formats, but only for English language, would be built. Analogously, the goal ‘all-standalone’ builds standalone for every available language, in every supported format, because both suffix were omitted. Finally, ‘all’ is equivalent to ‘all-collection all-standalone’, i.e., it builds both aggregate types for every language and format available.

If your shell support brace expansion (see Brace Expansion in GNU Bash manual)1 an useful trick is to use it to specify multiple goals combinations by a single meta-goal. For instance, to build Info and PDF collections for all available languages one can use the meta-goal ‘all-collection-{info,pdf}’. More powerfully, if one wants to build based on those same settings but just for two specified languages, let’s say English and Brazilian Portuguese, one would rather use ‘all-collection-{info,pdf}-{en,pt_BR}’.


Footnotes

(1)

If not, time has come to upgrade to GNU Bash!


Next: , Previous: , Up: Overview   [Index]