Next: Variables to Control the Build Process, Up: General Usage [Contents][Index]
The central part of GNUnited Nations is a makefile; actually a
GNUmakefile since it heavily relies on features and extensions
available in GNU Make. Thus, invoking a build consists of typing
make
on the command line, or within cron. If you are
deploying the software on a non-GNU machine, probably GNU Make is
installed and available as gmake
or gnumake
. If
not, you should consider installing it, since the build will fail
otherwise. See GNU Make homepage for information on
how to download and install GNU Make.
If you don’t specify a target, make
by default builds the
target all
, which in this case is to rebuild all translations
that are not up-to-date. However, there are special targets that do not
depend on the standard all
target, which can be built by
make target
. Some of the variables in the next section
apply to them, and some do not.
Note that GNUN expects GNUmakefile, config.mk and
gnun.mk to be present under server/gnun of the
‘www’ web repository, otherwise make
has no way to know what
to build, and how. Another file, priorities.mk, is
expected to be present under server/gnun in order to define
the priorities when reporting about the outdated translations. If
absent, the report
target will not sort the translations by
priority. Since the location of the repository working
copy is strictly user-specific and cannot be determined in any way,
GNUmakefile and config.mk must be copied there manually
after the package installation. For convenience, these files are
installed in ‘$(pkgdatadadir)’ (/usr/local/share/gnun with
the default ‘prefix’) so you can just create symlinks pointing to
them, e.g.:
ln -s /usr/local/share/gnun/config.mk /path/to/www/server/gnun/ ln -s /usr/local/share/gnun/GNUmakefile /path/to/www/server/gnun/
If next GNUN releases are installed with the same --prefix, you will always use the latest versions without the need for any manual intervention.
If you are playing with a non-gnu.org setup, you also have to take care of gnun.mk and put a modified version under server/gnun of your hypothetical tree. (For gnu.org, that is not necessary since a proper gnun.mk is maintained in ‘www’.)
Next: Variables to Control the Build Process, Up: General Usage [Contents][Index]