新しいクライアント(X のアプリケーション)を作る最も簡単な方法は、
Imakefile がソースに付属していれば xmkmf を使うことです。
``xmkmf'' を実行して Makefile を作り、必要に応じて設定を確認し、
それから ``make'' を実行します。オンラインマニュアルも追加インス
トールした場合には、必ず ``makewhatis /usr/X11R6/man'' を実行
し、whatis.db を更新してください。
cc がコンパイル時に `Virtual memory exhausted' とい
うメッセージを出すのを避けるため、データサイズとスタックサイズの上限を
増やしてください(csh の場合は、`limit datasize 32M'
と `limit stacksize 16M' を入力します)。
注意: XFree86 2.1 以降、シンボル ``__386BSD__'' は、コンパイ
ラによっても X の設定ファイル経由でも定義されないようになりました。
クライアントを *BSD システムに移植するときには、本当に BSD 特有のコー
ドに対してはシンボル ``BSD'' を使ってください。このシンボルの
値を使って異なる BSD リリースを区別することができます。例えば、Net-2
以降のリリース専用のコードの場合には以下のように記述します。
#if (BSD >= 199103)
このシンボルを確実に正しく定義するため、このシンボルが必要なソースでは
<sys/param.h> をインクルードしてください。
XFree86 3.1.1 以降では *BSD システム用のシンボル CSRG_BASED が定
義されている点に注意してください。<sys/param.h> のイン
クルードを保護するために、これを使うべきです。
i386 用に移植された BSD のうち特定のものの専用コードの場合には、
FreeBSD ならば __FreeBSD__ を、
NetBSD ならば __NetBSD__ を、
OpenBSD ならば __OpenBSD__ を、
386BSD ならば __386BSD__ を、
BSD/OS ならば __bsdi__ を使ってください。