1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
-->
<HTML>
<HEAD>
<TITLE>Crystal Space: Unix Compiling</TITLE>
<META NAME="description" CONTENT="Crystal Space: Unix Compiling">
<META NAME="keywords" CONTENT="Crystal Space: Unix Compiling">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">
</HEAD>
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
<A NAME="SEC32"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_21.html#SEC31"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_23.html#SEC33"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_19.html#SEC29"> << </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_20.html#SEC30"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_25.html#SEC35"> >> </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="index.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_285.html#SEC711">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<HR SIZE=1>
<H4> 2.4.1.2 Compiling on Unix </H4>
<!--docid::SEC32::-->
<P>
The makefiles require GNU make, which is typically named `<TT>make</TT>' on most
systems. If this is not the case then substitute `<TT>gmake</TT>', `<TT>gnumake</TT>'
or whatever GNU make is called on your system.
</P><P>
It is NOT possible to make Crystal Space using any other makefile
(unless by doing so manually).
</P><P>
First you need to configure the makefiles for your system. If you are
using Linux, for example, you can do this as follows:
</P><P>
<TABLE><tr><td> </td><td class=example><pre>make linux USE_PLUGINS=yes
</pre></td></tr></table></P><P>
This indicates that we are going to compile for Linux and use dynamic
linking (preferable). If you don't want to use the dynamic libraries you
can set <CODE>USE_PLUGINS=no</CODE>. That will generate one big executable.
</P><P>
You can optionally invoke the `<SAMP>depend</SAMP>' target to make sure that all
dependencies are correct. This is only important if you intend to make
changes to the sources and want to be sure that all files will be recompiled
that are in need of recompiling. You can, however, can safely omit this step
if desired.
</P><P>
<TABLE><tr><td> </td><td class=example><pre>make depend
</pre></td></tr></table></P><P>
Then you need to do the following to actually build the entire project:
</P><P>
<TABLE><tr><td> </td><td class=example><pre>make -k all
</pre></td></tr></table></P><P>
If you selected <CODE>USE_PLUGINS=yes</CODE> then this will generate an executable
and drivers (extension `<TT>*.so</TT>' on Linux and most Unix platforms) for the
software renderer, a 2D driver, and some network drivers. If you selected
<CODE>USE_PLUGINS=no</CODE> then only the executable is generated and the drivers are
contained in that executable.
</P><P>
<STRONG>Optional</STRONG>: <EM>Only perform this step if you are developing a brand
new plug-in module or changing the SCF identification of an existing one.</EM> If
you selected <CODE>USE_PLUGINS=yes</CODE> then you may need to register the drivers
with the SCF system. This generally only needs to be done once. The
registration information is maintained in the file `<TT>scf.cfg</TT>'. However,
typically this file is already up-to-date, so usually you can skip this step
altogether. Only perform this step if the system is unable to locate the
drivers or if you are actively developing a driver and changing registration
information. The program to register plug-ins is called scfreg, and it was
also compiled by `<SAMP>make -k all</SAMP>'. To run it, type:
</P><P>
<TABLE><tr><td> </td><td class=example><pre>./scfreg *.so
</pre></td></tr></table></P><P>
If all is well this should register all drivers so that Crystal Space will be
able to load them dynamically. If your platform uses a file extension other
than `<TT>*.so</TT>' for plug-in modules, then alter the command appropriately.
This step is not needed when <CODE>USE_PLUGINS=no</CODE> is specified.
</P><P>
Now you can run the executable `<TT>walktest</TT>'.
</P><P>
<A NAME="Unix Other2d3d"></A>
<HR SIZE=1>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_21.html#SEC31"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_23.html#SEC33"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_19.html#SEC29"> << </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_20.html#SEC30"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_25.html#SEC35"> >> </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="index.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_285.html#SEC711">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>
<FONT SIZE="-1">
This document was generated
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
</BODY>
</HTML>
|