It is possible to have multiple configurations for the same source at once. This make
variable used to support this feature.
You only need to do this if you have earlier built a language in-source (the default). What you need to do is:
cd $GTLANG make distclean
That is, cd into the language you want to reconfigure, and run the command make distclean
. This command will not only delete the files you have built,
The basic idea is to create a separate build directory for each configuration
cd $GTLANG mkdir build cd build mkdir xerox cd xerox ../../configure make cd .. mkdir hfst cd hfst ../../configure --with-hfst --without-xfst make
We just created two build directories — xerox
and hfst
— within a common build
directory. Within each of them we called the configure script with the make check
.
A setup like this can be used to have multiple configurations for the different
This can also be used to turn off some of the default targets, to speed up the
cd $GTLANG mkdir build cd build mkdir spellers cd spellers ../../configure --with-hfst --without-xfst \ --enable-spellers \ --disable-analysers \ --disable-generators \ --disable-transcriptors make
This will turn off compilation of the regular analysers and generators, and will
NB! When using out-of-source / VPATH building, the aliases usme
, dsme
, etc. do NOT work. This is because the aliases have hard-coded $GTHOME/langs/
. The plan is to replace the aliases with
It is possible to use this same strategy at the level of the $GTHOME/langs/
$GTHOME/langs/ mkdir build cd build mkdir xerox cd xerox ../../configure --enable-langs="sma sme smj sms smn yrk" make
We have just configured a build tree that will only build the default Xerox sma, sme, smj, sms, smn
and yrk
. One make check
to test that these languages (and these only) all
To do the same for Hfst type fst's, you specify the hfst option as usual:
$GTHOME/langs/build/ mkdir hfst cd hfst ../../configure --enable-langs="sma sme smj sms smn yrk" --with-hfst --without-xfst make
The --enable-langs
option is understood by the configure
script within $GTHOME/langs/
, the rest of the options are passed on to the configure
Here is a configuration for compiling and testing all but a few languages:
../../configure --enable-langs="bxr chp ciw cor crk est fao fin fkv hdn ipk \ izh kca kpv liv lut mdf mhr mns mrj myv nio nob olo ron rus sjd sma sme smj \ smn sms som udm vep vro yrk"
The only languages left out are: kal, rup, sje, tat, tku, vot
. Of these six kal
builds fine, but takes an awful lot of time, whereas the rest
NB! During configuration, the configuration script will traverse all
Using VPATH builds in the langs/
directory is a much more flexible solution
There is really only one restriction:
You can not combine VPATH building with in-source building.
That is, you can't have both a separate build/
directory and build $GTLANG/
directory. This means that as long as we rely