Dependency graph================The complete Themyscira GSM codec libraries & utilities package as presentedhere consists of two principal parts:Division 1: libgsmefr and libgsmfrp, the two C code libraries intended to beusable by other software;Division 2: various command line utilities that were developed under theumbrella of this project and are being released accordingly.Division 2 components have a compile-time dependency on Division 1 (some ofthese Division 2 command line utilities link with libgsmefr or libgsmfrp), butnot the other way around: neither libgsmefr nor libgsmfrp has any dependency onany other part of this package.However, the original GSM 06.10 library (libgsm) from 1990s is a requireddependency for several components of the present Themyscira package: libgsmfrpand several Division 2 command line utilities have a compile-time dependency on<gsm.h> header file provided by libgsm, and several Division 2 utilities alsohave a link dependency on libgsm itself. Therefore, libgsm should be considereda hard dependency for the present GSM codec libraries & utilities package as awhole, and it needs to be installed system-wide prior to compiling the presentsoftware.Compiling and installing Themyscira libraries and utilities===========================================================Running 'make' at the top level of the present gsm-codec-lib package willcompile both Division 1 and Division 2 software components (both libraries andutilities), with the top level Makefile codifying the dependency graph amongthem. Installation, however, is a little more complicated in that there is nosingle 'make install' target at the top level - instead of a single installtarget, the top Makefile provides two separate installation targets:make install-lib Install libgsmefr and libgsmfrp system-wide: gsm_efr.h and gsm_fr_preproc.h are installed in /usr/local/include; libgsmefr.a and libgsmfrp.a are installed in /usr/local/lib. Superuser privileges are usually required to write to these directories.make install-utils Install Division 2 command line utilities into /opt/freecalypso/bin directory, which is non-standard in the muggle world but has been established in our Themyscira community as the location for Themyscira- developed command line utilities working with GSM.The just-described separation between install-lib and install-utils targets hasbeen created because of the difference in install paths: libraries and theirheader files that need to be easily findable and usable by other people'sunrelated software need to be installed under /usr/local, requiring su to rootbefore each install cycle, whereas /opt/freecalypso/bin (writable without rootprivileges on the Mother's development machine) is much more convenient forDivision 2 command line utilities.However, the present gsm-codec-lib package differs from FreeCalypso host toolsand SIM tools packages in that in the present package, you ARE allowed to freelychange these installation directories to fit your own preferences. FC hosttools and FC SIM tools packages carry very strong admonitions in their INSTALLdocuments to the effect that they MUST be installed under /opt/freecalypso andthat this path cannot be changed; this strict imposition is made because ofstrong intercomponent dependencies within those software suites, with differentcomponents invoking each other or looking for their support files using hard-coded absolute pathnames. But the present gsm-codec-lib package is different:you are free to move our Division 2 command line utilities from/opt/freecalypso/bin to /usr/local/bin or anywhere else you like, and you arelikewise free to move our Division 1 libraries from /usr/local/{include,lib} towhatever location would be most appropriate in your environment.To change installation directories, you will need to edit subdirectory Makefilesas follows:Division 1: libgsmefr/Makefile libgsmfrp/MakefileDivision 2: amrconv/Makefile efrtest/Makefile frtest/Makefile miscutil/Makefile