この付録は Linux に 固有な設定ファイルの例を選びました。今のところ 1 種類 のファイルのいくつかの例だけがあげられています。しかしこれは最も大切な設定 ファイルです! 今後、データベースの設定ファイル(DEFAULT_WIND など)の例や 他のファイルも載せる予定です。
$GIS/src/CMD/header ディレクトリにある [header] ファイルの解説は、インス トール・ガイドの 10-11 頁に載っています($GIS は、GRASS がインストール されているディレクトリです。慣例にしたがうとそのディレクトリは /usr/local に なります。私は独立したファイルシステム/ディレクトリになっている /user/grass4.1 に GRASS のすべてインストールしています)。インストール・ガイド は、Sun のシステムを意識して書かれています。それは GRASS4 の開発環境が Sun だったからです(初期の開発は Masscomp のワークステーションで行われたことも気に かけておいてください)。下記に Linux で使用するこのファイルの例をあげておき ます。$/src/CMD/header ディレクトリに linux という名前で置いて 置きたくなるかもしれませんね。setup コマンド($GIS/src/CMD/utils/setup) を動かす時に参照してください。
       One version:
CC                  = gcc
ARCH                =
GISBASE             = /user/grass4.1
UNIX_BIN            = /user/grass4.1/bin
DEFAULT_DATABASE    = /user/grass4.1/data
DEFAULT_LOCATION    = china
COMPILE_FLAGS       = -O2
LDFLAGS             = -s
XCFLAGS             = -D_NO_PROTO -DXM_1_1_BC
XLDFLAGS            =
XINCPATH            =
XMINCPATH           =
XLIBPATH            =
XTLIBPATH           = -L/usr/lib
XMLIBPATH           = -L/usr/lib
XLIB                = -lX11
XTLIB               = -lXt
XMLIB               = -lXm
XEXTRALIBS          =
TERMLIB             =
CURSES              = -lcurses $(TERMLIB)
MATHLIB             = -lm
#                   LIBRULE = ar ruv $@ $?
#                   LIBRULE = ar ruv $@ $?; ranlib $@
#                   LIBRULE = ar ruv $@ $?; ar ts $@
#                   LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
LIBRULE             = ar ruv $@ $?
USE_TERMIO          = -DUSE_TERMIO
USE_MTIO            = -DUSE_MTIO
USE_FTIME           = -DUSE_FTIME
DIGITFLAGS          = -DUSE_SETREUID -DUSE_SETPRIORITY
VECTLIBFLAGS        =
GETHOSTNAME         = -DGETHOSTNAME_OK
         _____________________________________________________________
       Another version:
#CC                  = gcc
#CC                  = gcc -ggdb -traditional
CC                  = gcc -traditional
#CC                  = gcc -static
ARCH                = linux
GISBASE             = /usr2/local/grass/grass4.1
UNIX_BIN            = /usr/local/bin
DEFAULT_DATABASE    = /usr2/local/grass
DEFAULT_LOCATION    = grass4.1
COMPILE_FLAGS       =
#COMPILE_FLAGS       = -O
LDFLAGS             = -s
XCFLAGS             = -D_NO_PROTO
XLDFLAGS            =
XINCPATH            = -I$GISBASE/xgrass
#XINCPATH            =
XMINCPATH           =
XLIBPATH            = -L/usr/lib
XTLIBPATH           = -L/usr/lib
XMLIBPATH           = -L/usr/lib
XLIB                = -lX11
XTLIB               = -lXt
XMLIB               = -lXm
XEXTRALIBS          =
TERMLIB             =
CURSES              = -lcurses $(TERMLIB)
MATHLIB             = -lm
#                   LIBRULE = ar ruv $@ $?
#                   LIBRULE = ar ruv $@ $?; ranlib $@
#                   LIBRULE = ar ruv $@ $?; ar ts $@
#                   LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
LIBRULE             = ar ruv $@ $?; ranlib $@
USE_TERMIO          = -DUSE_TERMIO
USE_MTIO            = -DUSE_MTIO
USE_FTIME           = -DUSE_FTIME
DIGITFLAGS          = -DUSE_SETREUID -DUSE_SETPRIORITY
VECTLIBFLAGS        =
GETHOSTNAME         = -DGETHOSTNAME_OK
         _____________________________________________________________
       Another version:
#CC                  = gcc -traditional -ggdb
CC                  = gcc -traditional -m486
#CC                  = gcc
ARCH                = linux
GISBASE             = /usr/local/grass/grass4.1
UNIX_BIN            = /usr/local/bin
DEFAULT_DATABASE    = /usr/local/grass
DEFAULT_LOCATION    = grass4.1
COMPILE_FLAGS       = -O2
LDFLAGS             = -s
XCFLAGS             = -D_NO_PROTO -DXM_1_1_BC
XLDFLAGS            =
XINCPATH            =
XMINCPATH           =
XLIBPATH            = -L/usr/lib
XTLIBPATH           = -L/usr/lib
XMLIBPATH           = -L/usr/lib
XLIB                = -lX11
XTLIB               = -lXt
XMLIB               = -lXm
XEXTRALIBS          = -lXmu
TERMLIB             =
CURSES              = -lcurses $(TERMLIB)
MATHLIB             = -lm
#                   LIBRULE = ar ruv $@ $?
#                   LIBRULE = ar ruv $@ $?; ranlib $@
#                   LIBRULE = ar ruv $@ $?; ar ts $@
#                   LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
LIBRULE             = ar ruv $@ $?; ranlib $@
#USE_TERMIO          = #-DUSE_TERMIO
USE_TERMIO          = -DUSE_TERMIO
USE_MTIO            = -DUSE_MTIO
USE_FTIME           = -DUSE_FTIME
DIGITFLAGS          = -DUSE_SETREUID -DUSE_SETPRIORITY
VECTLIBFLAGS        =
GETHOSTNAME         = -DGETHOSTNAME_OK
         _____________________________________________________________
       Yet another version:
CC                  = cc
ARCH                = linux
GISBASE             = /usr/local/grass4.15/linux
UNIX_BIN            = /usr/local/grass4.15/linux
DEFAULT_DATABASE    = /data/grassdata
DEFAULT_LOCATION    =
# -fwritable-strings - for ps.map only
#COMPILE_FLAGS       = -O -m486 -fwritable-strings
COMPILE_FLAGS       = -O -m486
LDFLAGS             = -s
XCFLAGS             = -D_NO_PROTO
XLDFLAGS            =
XINCPATH            =
XMINCPATH           =
XLIBPATH            = -L/usr/X11R6/lib
XTLIBPATH           = -L/usr/lib
XMLIBPATH           = -L/usr/lib
XLIB                = -lX11
XTLIB               = -lXt
XMLIB               = -lXm
XEXTRALIBS          =
TERMLIB             =
CURSES              = -lcurses $(TERMLIB)
MATHLIB             = -lm
#                   LIBRULE = ar ruv $@ $?
#                   LIBRULE = ar ruv $@ $?; ranlib $@
#                   LIBRULE = ar ruv $@ $?; ar ts $@
#                   LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
LIBRULE             = ar ruv $@ $?
USE_TERMIO          = -DUSE_TERMIO
USE_MTIO            = -DUSE_MTIO
USE_FTIME           = -DUSE_FTIME
DIGITFLAGS          = -DUSE_SETREUID -DUSE_SETPRIORITY
VECTLIBFLAGS        = -DPORTABLE_3
GETHOSTNAME         = -DGETHOSTNAME_OK
脅かしてしまいましたか? X Window System をすでに設定しているなら、そんな
ことはないですよね。この設定例は GRASS のセットアップ ユーティリティを
使う時(インストール・ガイドで説明されています)の道しるべになると確信して
います。
訳註:GRASS 4.21 の Linux(x86)用 header ファイルは、 http://wgrass.media.osaka-cu.ac.jp/grassh/grass421/platforms/linux_x86.head にあります。