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 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
<!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: NeXT Building</TITLE>
<META NAME="description" CONTENT="Crystal Space: NeXT Building">
<META NAME="keywords" CONTENT="Crystal Space: NeXT Building">
<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="SEC103"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_34.html#SEC102"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_36.html#SEC104"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_29.html#SEC91"> << </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_30.html#SEC98"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_37.html#SEC105"> >> </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.4.5 Building </H4>
<!--docid::SEC103::-->
<P>
The Crystal Space project consists of a number of components and example
programs. The following commands are all issued from within the top level
Crystal Space source code directory named `<TT>CS</TT>'.
</P><P>
To begin building Crystal Space, first configure the makefiles for the
appropriate platform by typing the correct build command as indicated below.
</P><P>
<BLOCKQUOTE>
<TABLE>
<TR><TD><EM>Platform</EM> </TD><TD> <EM>Build Command</EM></TD>
</TR>
<TR><TD>MacOS/X </TD><TD> <CODE>gnumake macosx</CODE></TD>
</TR>
<TR><TD>MacOS/X Server 1.0 </TD><TD> <CODE>gnumake macosxs</CODE></TD>
</TR>
<TR><TD>OpenStep </TD><TD> <CODE>gnumake openstep</CODE></TD>
</TR>
<TR><TD>NextStep </TD><TD> <CODE>gnumake nextstep</CODE></TD>
</TR></TABLE>
</BLOCKQUOTE>
<P>
If you want to build multi-architecture binaries of Crystal Space then you can
specify `<SAMP>TARGET_ARCHS</SAMP>' on the configuration command line. Your choice of
architectures will be remembered and automatically applied to subsequent build
operations. The list of supported architectures varies between MacOS/X,
MacOS/X Server 1.0 (Rhapsody), OpenStep, and NextStep.
See section <A HREF="cs_33.html#SEC101">2.4.4.3 Architectures</A>.
</P><P>
For instance, if you want to build Crystal Space executables for Intel,
Motorola, and Sparc on an OpenStep 4.2 system, you would configure the makefile
system by invoking the following command:
</P><P>
<TABLE><tr><td> </td><td class=example><pre>gnumake openstep TARGET_ARCHS="i386 m68k sparc"
</pre></td></tr></table></P><P>
Once the makefiles have been configured for the appropriate platform, you can
begin building the Crystal Space demonstration programs. Alternately, if you
are interested in building only certain components of the system, such as
drivers or libraries, then can do that instead.
</P><P>
To see a list of all targets which can be built, type:
</P><P>
<TABLE><tr><td> </td><td class=example><pre>gnumake help
</pre></td></tr></table></P><P>
The simplest way to build the entire package, including all applications,
drivers, and plug-in modules is to invoke the makefile target `<SAMP>all</SAMP>':
</P><P>
<TABLE><tr><td> </td><td class=example><pre>gnumake -k all
</pre></td></tr></table></P><P>
This can be a fairly time consuming operation. If you would like to be more
selective and only build the necessary plug-in modules and a subset of the
available applications, you can invoke their targets individually.
</P><P>
For example, to build all plug-in modules, you could invoke this command:
</P><P>
<TABLE><tr><td> </td><td class=example><pre>gnumake -k plugins # Builds all plug-in modules.
</pre></td></tr></table></P><P>
Or, for example, you could build only the WalkTest application and the plug-in
modules which it most commonly requires.
</P><P>
<TABLE><tr><td> </td><td class=example><pre>gnumake walkall # Builds WalkTest and required plug-ins
</pre></td></tr></table></P><P>
For finer control over which applications are built, you can invoke their
targets directly. For instance:
</P><P>
<TABLE><tr><td> </td><td class=example><pre>gnumake walk # Builds <CODE>walktest</CODE>, the map exploration program
gnumake blks # Builds <CODE>blocks</CODE>, the 3D-Tetris style game
gnumake next2d # Builds <CODE>next2d</CODE>, the Cocoa-based 2D driver
</pre></td></tr></table></P><P>
All programs require at least some plug-in modules to be present, so be sure to
build those as well by invoking the `<SAMP>plugins</SAMP>' makefile target as
illustrated above if you have not already invoked the `<SAMP>all</SAMP>' target.
</P><P>
<A NAME="NeXT Running Programs"></A>
<HR SIZE=1>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_34.html#SEC102"> < </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_36.html#SEC104"> > </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_29.html#SEC91"> << </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_30.html#SEC98"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="cs_37.html#SEC105"> >> </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>
|