Next: , Up: General Usage   [Contents][Index]


2.1 Invoking GNUN

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]