Note:

when the is built, the Makefile in the Src/Extensions is customized for your system/compiler. A simple way to determine the options you have to use for compiling your program consist to run the make command on one of the file present in this directory. For instance, issuing the following command
\begin{Code}
\begin{listing}[200]{2}
make -n posix.so
\end{listing}\end{Code}
on a Linux box using the DLD package will output the following lines:
\begin{Code}
\begin{listing}[200]{2}
gcc -g -DSTk_CODE -DUSE_DLD -DLINUX -DHAVE_...
.../include -c posix.c -o posix.o
ld -r -o posix.so posix.o
\end{listing}\end{Code}

[Static loading] A C module which define a new type can also be statically loded in the interepreter. To load your module, you have to modify the Src/Makefile or Snow/Makefile. Once yo have added your extension object in the USER_OBJ variable , you must modify the file Src/userinit.c to add you initialization (and eventually cleanup) code. The call to your initialization function must be done in the STk_user_init C function. Once this is done, you can run the make command again to build the extended interpreter.