File: cs_22.html

package info (click to toggle)
crystalspace 0.94-20020412-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 62,276 kB
  • ctags: 52,843
  • sloc: cpp: 274,783; ansic: 6,608; perl: 6,276; objc: 3,952; asm: 2,942; python: 2,354; php: 542; pascal: 530; sh: 430; makefile: 370; awk: 193
file content (132 lines) | stat: -rw-r--r-- 6,154 bytes parent folder | download
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"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_23.html#SEC33"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_19.html#SEC29"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_23.html#SEC33"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_19.html#SEC29"> &lt;&lt; </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"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <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>