/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* * このファイルでは、各ファイルをインストールするディレクトリなどを * 決定するためのマクロを設定します。 * * ※コンパイルを行う前に必ず Canna.conf の設定を行ってください。 * * 以下に示すマクロを設定して下さい。 * * cannaBinDir; * コマンドをインストールするディレクトリです。 * このディレクトリにコマンドサーチパスを張るように * してください。 * cannaSrvDir; * cannaserver および cannakill をインストールするディレクトリ * です。 * libCannaDir; * libcanna 等ライブラリ等をインストールするディレクトリです。 * cannaLibDir; * 『かんな』の種々のファイルをインストールするディレクトリです。 * cannaManDir; * 『かんな』関連オンラインマニュアルのインストールディレクトリ * です。 * cannaIncDir; * ヘッダファイルをインストールするディレクトリです。 * ErrDir; * ログファイルが置かれるディレクトリです。 * ログファイルは、かな漢字変換サーバがエラーメッセージを * 出力するファイルです。 * * cannaOwner: * 辞書とかな漢字変換サーバのオーナを指定します。 * * cannaGroup: * 辞書とかな漢字変換サーバのグループを指定します。 * * sharedLibExtension: * shared library の拡張子を指定します。通常は so.1 など * が使われます。 HP-UX では sl です。 * * cannaDsoRev: * shared library のリビジョンを指定します。so.1 なら 1 * です。so.1.1 のような場合は、 1.1 と指定します。 * * pubdicDir: * Pubdic+ では最新の辞書が準備されています。そちらを利用 * する場合にはここでそのディレクトリを指定します。Canna * の make をする前に、指定されたディレクトリに iroha.t * が作られている状態になっているようにしてください。 * * engineSwitch: * (現在は利用できません。) * * cannaLight: * (特別な理由が無い限り1のままにしてください。) * * USE_OBSOLETE_STYLE_FILENAME: * 漢字辞書名、ローマ字テーブル名を Version 3.4 以前の名 * 前のままにする場合には、このマクロを #define してくだ * さい。ちなみに、Version 3.5 から、ローマ字か名変換テー * ブルの拡張子が .kp から .cbp へ、テキスト辞書ファイル、 * バイナリ辞書ファイル、辞書学習ファイルの拡張子がそれぞ * れ、.t, .d, .fq から .cbd, .ctd, .cld に変更になりまし * た。 * * 《以下の2つは修正不要とは思いますが説明をしておきます》 * * DicDir; * 辞書をインストールするディレクトリです。 * * JAPANESEMAN; * マニュアルとして日本語マニュアルをインストールする時に * はこのマクロを #define します。英語マニュアルは十分に * そろっていないので #define しておいてください。 */ /* * $Id: Canna.conf.dist,v 1.23.2.4 2004/04/26 23:15:17 aida_s Exp $ */ /* rootにならずにインストールする時はこれを定義して下さい */ /* #define InstallAsUser */ /* 従来と互換のディレクトリ構造にする場合はこれを定義してください */ /* #define ObsoleteInstallDir */ /* 以下デフォルト値、変更不要 */ #ifdef InstallAsUser # define DefCannaPrefix $(HOME)/canna # define DefErrDir $(cannaPrefix)/log # define DefLibCannaDir $(cannaExecPrefix)/lib #else PREFIX?= /usr/local # define DefCannaPrefix $(PREFIX) # ifdef ObsoleteInstallDir # define DefErrDir /usr/spool/canna # define DefLibCannaDir /usr/lib # else # define DefErrDir /var/log # define DefLibCannaDir $(cannaExecPrefix)/lib # endif #endif #ifdef ObsoleteInstallDir # define DefCannaSrvDir $(cannaExecPrefix)/bin # define DefCannaLibDir $(cannaPrefix)/lib #else # define DefCannaSrvDir $(cannaExecPrefix)/sbin # define DefCannaLibDir $(cannaPrefix)/share/canna #endif #if defined(LinuxArchitecture) || defined(FreeBSDArchitecture) \ || defined(NetBSDArchitecture) || defined(OpenBSDArchitecture) # ifdef UseElfFormat # define ModernElfLinkAvailable UseElfFormat # define CannaGccElfArchitecture # else # define ModernElfLinkAvailable NO # endif #elif defined(SVR4Architecture) # define ModernElfLinkAvailable YES #else # define ModernElfLinkAvailable NO #endif cannaPrefix = DefCannaPrefix cannaExecPrefix = $(cannaPrefix) cannaBinDir = $(cannaExecPrefix)/bin cannaSrvDir = DefCannaSrvDir XCOMM cannaLibDir = /var/lib/canna XCOMM cannaLibDir = /var/db/canna cannaLibDir = DefCannaLibDir XCOMM cannaManDir = $(cannaPrefix)/share/man cannaManDir = $(cannaPrefix)/man cannaIncDir = $(cannaPrefix)/include/canna libCannaDir = DefLibCannaDir ErrDir = DefErrDir /* 旧バージョンとの互換APIを無効にする場合は0と定義してください */ #define SupportOldWchar 1 /* IPv6を用いる場合は1と定義してください */ #define UseInet6 0 /* requires newer IPv6 implementation */ /* 3.2系から3.6系までの形式の辞書を作る場合はこれを定義してください */ /* #define DIC_3_6_COMPAT */ /* ELFを使うプラットフォームで、共有ライブラリの扱いを、LinuxやNetBSD、 * OpenBSDのような現代的な扱いにしたい場合、YESにしてください。 */ #define ModernElfLink NO /* experimental */ cannaOwner = bin cannaGroup = bin #ifdef InstallAsUser cannaOwnerGroup = #else cannaOwnerGroup = #endif cannaDsoRev = 1.2 #if defined(cygwinArchitecture) /* import libraryの方を指定しておく。DLL本体は/usr/X11R6/binに入る。 */ sharedLibExtension = a #elif defined(HPArchitecture) && !defined(LinuxArchitecture) sharedLibExtension = sl.$(cannaDsoRev) #elif defined(DarwinArchitecture) sharedLibExtension = $(cannaDsoRev).dylib #else sharedLibExtension = so.$(cannaDsoRev) #endif /* iroha.t の場所を指定。pubdic+ があればそちらを指定します。 */ pubdicDir = $(CANNAROOT)/dic/ideo/pubdic #ifdef InstallAsUser CHOWN = : CHGRP = : CHMOD = : #else CHOWN = : CHGRP = : CHMOD = : #endif /* 日本語マニュアルを使わないのであればコメントアウト */ #define JAPANESEMAN /* #define engineSwitch */ /* 以下エンジンスイッチがらみ */ #ifdef engineSwitch kinput2SrcDir = /work/X11R5/contrib/im/kinput2 wnn4SrcDir = /work/X11R5/contrib/im/Xsi/Wnn sj3SrcDir = /work/X11R5/contrib/im/Ximp/sony/sj3 DLLIB = -ldl cannaDsoRevDef = -DCANNA_DSOREV=\"$(cannaDsoRev)\" #endif /* cannaserver、libcanna に EUC プロトコル処理部を組み込みません。 * EUCプロトコルのサポートは打ち切られたので、特別な理由が無い限り1に * 設定して下さい。 */ cannaLight = 1 /* 漢字辞書名、ローマ字テーブル名を以前の名前のままにする場合には、 USE_OBSOLETE_STYLE_FILENAME を定義する */ /* #define USE_OBSOLETE_STYLE_FILENAME */ /* * インストール済みの共有ライブラリを用いて Canna の * コマンド類をリンクする時は、次を YES にしてくだい。 */ /* #define UseInstalledLibCanna YES */ #define UseInstalledLibCanna NO DicDir = $(cannaLibDir)/dic /* ここから下は変更不要です */ /* * これらについては も見てくだい。 */ #ifndef DoSharedLib #define DoSharedLib HasSharedLibraries #endif #if DoSharedLib == YES && defined(cygwinArchitecture) #define CYGWIN_DLL #endif #ifndef CYGWIN_DLL /* cygwinでは、imakeがimport libraryを*.dll.aでなく*.aにしてしまうため、 static libraryと共存できない */ #define DoNormalLib YES #endif #define DoDebugLib NO #define DoProfileLib NO #ifndef UseInstalledLibCanna #define UseInstalledLibCanna NO #endif /* UseInstalledLibCanna */ #if 0 && defined(OS2Architecutre) # ifdef LibraryTargetName # undef LibraryTargetName # endif # define LibraryTargetName(libname) libname.a #endif #if DoSharedLib # define CannaDepLibraryName(libname) Concat(lib,libname.$(sharedLibExtension)) #else # define CannaDepLibraryName(libname) LibraryTargetName(libname) #endif #if UseInstalledLibCanna DEPCANNALIB = $(libCannaDir)/CannaDepLibraryName(canna) CANNALIB = -L$(libCannaDir) -lcanna $(DLLIB) DEPCANNALIB16 = $(libCannaDir)/CannaDepLibraryName(canna16) CANNALIB16 = -L$(libCannaDir) -lcanna16 $(DLLIB) #else DEPCANNALIB = $(CANNASRC)/CannaDepLibraryName(canna) CANNALIB = -L$(CANNASRC) -lcanna $(DLLIB) DEPCANNALIB16 = $(CANNASRC)/CannaDepLibraryName(canna16) CANNALIB16 = -L$(CANNASRC) -lcanna16 $(DLLIB) #endif #if DoSharedLib DEPRKCLIB = $(DEPCANNALIB) RKCLIB = $(CANNALIB) #else /* !HasSharedLibraries */ DEPRKCLIB = $(RKCSRC)/LibraryTargetName(RKC) RKCLIB = -L$(RKCSRC) -lRKC #endif /* !HasSharedLibraries */ DEPRKLIB = $(CANNAROOT)/lib/RK/LibraryTargetName(RK) RKLIB = -L$(CANNAROOT)/lib/RK -lRK DEPRKINDEPLIB = $(CANNAROOT)/lib/RKindep/LibraryTargetName(RKindep) RKINDEPLIB = -L$(CANNAROOT)/lib/RKindep -lRKindep LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) #if ModernElfLink /* best effort */ # if defined(CannaGccElfArchitecture) SHLIBLDFLAGS = -shared -Wl,-rpath,$(libCannaDir) # elif defined(SVR4Architecture) SHLIBLDFLAGS = -G -z text # endif USRLIBDIRPATH = $(libCannaDir) CCENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH) SOSYMLINK = true #endif /* * ここから下は変更しないようにしてください。 */ #if defined(SunArchitecture) # define CannaDefines -D__EXTENSIONS__ #else # define CannaDefines #endif CANNA_DEFINES = CannaDefines CANNASERVER_DEFINES = $(CANNA_DEFINES) RK_DEFINES = $(CANNA_DEFINES) RKC_DEFINES = -DCPP='"$(CPP)"' $(CANNA_DEFINES) UILIB_DEFINES = $(cannaDsoRevDef) $(CANNA_DEFINES) SCRIPTS_DEFINES = $(CANNA_DEFINES) #ifdef JAPANESEMAN JMNLOCALE = ja #endif /* USE_OBSOLETE_STYLE_FILENAME を定義するための定義 */ #ifdef USE_OBSOLETE_STYLE_FILENAME useObsoleteFilename = -DUSE_OBSOLETE_STYLE_FILENAME #endif #ifdef InstallAsUser UnixSockDir = $(cannaPrefix)/tmp/.iroha_unix AccessFile = $(cannaPrefix)/etc/hosts.canna #else UnixSockDir = /tmp/.iroha_unix AccessFile = /etc/hosts.canna #endif UnixSockName = IROHA /* * 以下manページに関する定義 */ #ifndef OS2Architecutre MANUALSED = $(CANNAROOT)/misc/manual.sed #define ConvertPathName(dst,src) @@\ dst:: src $(MANUALSED) @@\ sed -f $(MANUALSED) src > dst @@\ $(MANUALSED):: $(CANNAROOT)/Canna.conf @@\ (echo "s%@(cannaBinDir)%$(cannaBinDir)%g"; \ @@\ echo "s%@(cannaLibDir)%$(cannaLibDir)%g"; \ @@\ echo "s%@(cannaIncDir)%$(cannaIncDir)%g"; \ @@\ echo "s%@(UnixSockDir)%$(UnixSockDir)%g"; \ @@\ echo "s%@(UnixSockName)%$(UnixSockName)%g"; \ @@\ echo "s%@(AccessFile)%$(AccessFile)%g"; \ @@\ echo "s%@(DicDir)%$(DicDir)%g"; \ @@\ echo "s%@(ErrDir)%$(ErrDir)%g") > $(MANUALSED) @@\ clean:: @@\ $(RM) $(MANUALSED) #else MANUALSED = manual.sed #define ConvertPathName(dst,src) @@\ dst:: src $(MANUALSED) @@\ sed -f $(MANUALSED) src > dst @@\ $(MANUALSED):: $(CANNAROOT)/Canna.conf @@\ echo "s%@(cannaBinDir)%$(cannaBinDir)%g" > $(MANUALSED) @@\ echo "s%@(cannaLibDir)%$(cannaLibDir)%g" >> $(MANUALSED) @@\ echo "s%@(cannaIncDir)%$(cannaIncDir)%g" >> $(MANUALSED) @@\ echo "s%@(UnixSockDir)%$(UnixSockDir)%g" >> $(MANUALSED) @@\ echo "s%@(UnixSockName)%$(UnixSockName)%g" >> $(MANUALSED) @@\ echo "s%@(AccessFile)%$(AccessFile)%g" >> $(MANUALSED) @@\ echo "s%@(DicDir)%$(DicDir)%g" >> $(MANUALSED) @@\ echo "s%@(ErrDir)%$(ErrDir)%g" >> $(MANUALSED) @@\ clean:: @@\ $(RM) $(MANUALSED) #endif #ifdef InstallManPageLong #undef InstallManPageLong #endif #ifdef ObsoleteInstallDir #define ManInstDir man$(MANSUFFIX) #define ManBase(dest) dest.$(MANSUFFIX) #define LibManInstDir man$(LIBMANSUFFIX) #define LibManBase(dest) dest.$(LIBMANSUFFIX) #else /* !ObsoleteInstallDir */ #define ManInstDir man1 #define ManBase(dest) dest.1 #define LibManInstDir man3 #define LibManBase(dest) dest.3 #endif /* !ObsoleteInstallDir */ #define ManDest(dest) ManInstDir/ManBase(dest) #define LibManDest(dest) LibManInstDir/LibManBase(dest) #define ManTop(destdir) $(DESTDIR)destdir #define JManTop(destdir) $(DESTDIR)destdir/$(JMNLOCALE) #ifdef JAPANESEMAN #define InstallManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ ConvertPathName(file.jtmp,file.jmn) @@\ install.man:: file.tmp file.jtmp @@\ MakeDir($(DESTDIR)destdir/ManInstDir) @@\ MakeDir($(DESTDIR)destdir/$(JMNLOCALE)/ManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/ManDest(dest) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.jtmp JManTop(destdir)/ManDest(dest) @@\ $(RM) file.tmp file.jtmp @@\ clean:: @@\ $(RM) file.tmp file.jtmp #else #define InstallManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ install.man:: file.tmp @@\ MakeDir($(DESTDIR)destdir/ManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/ManDest(dest) @@\ $(RM) file.tmp @@\ clean:: @@\ $(RM) file.tmp #endif #ifdef InstallManPage #undef InstallManPage #endif #define InstallManPage(file,destdir) @@\ InstallManPageLong(file,destdir,file) #ifdef InstallLibManPageLong #undef InstallLibManPageLong #endif #ifdef JAPANESEMAN #define InstallLibManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ ConvertPathName(file.jtmp,file.jmn) @@\ install.man:: file.tmp file.jtmp @@\ MakeDir($(DESTDIR)destdir/LibManInstDir) @@\ MakeDir($(DESTDIR)destdir/$(JMNLOCALE)/LibManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/LibManDest(dest) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.jtmp JManTop(destdir)/LibManDest(dest) @@\ $(RM) file.tmp file.jtmp @@\ clean:: @@\ $(RM) file.tmp file.jtmp #else #define InstallLibManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ install.man:: file.tmp @@\ MakeDir($(DESTDIR)destdir/LibManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/LibManDest(dest) @@\ $(RM) file.tmp @@\ clean:: @@\ $(RM) file.tmp #endif #ifdef InstallLibManPage #undef InstallLibManPage #endif #define InstallLibManPage(file,destdir) @@\ InstallLibManPageLong(file,destdir,file) #ifdef InstallLibManPageAliases #undef InstallLibManPageAliases #endif #ifdef JAPANESEMAN #define InstallLibManPageAliases(file,destdir,aliases) @@\ install.man:: @@\ @for i in aliases; do (set -x; \ @@\ $(RM) $(DESTDIR)destdir/LibManDest($$i); \ @@\ $(LN) LibManBase(file) ManTop(destdir)/LibManDest($$i); \ @@\ $(RM) $(DESTDIR)destdir/$(JMNLOCALE)/LibManDest($$i); \ @@\ $(LN) LibManBase(file) JManTop(destdir)/LibManDest($$i) \ @@\ ); done #else #define InstallLibManPageAliases(file,destdir,aliases) @@\ install.man:: @@\ @for i in aliases; do (set -x; \ @@\ $(RM) $(DESTDIR)destdir/LibManDest($$i); \ @@\ $(LN) LibManBase(file) JManTop(destdir)/LibManDest($$i) \ @@\ ); done #endif /* * 以下ライブラリに関する定義 */ #if ModernElfLink # define CannaLongShLib(libname,rev) Concat(lib,libname.so.rev) # define CannaShortShLib(libname) Concat(lib,libname.so) # if defined(CannaGccElfArchitecture) # define CannaLinkTmpSharedLibrary(tmpso,dlname,solist) \ $(CC) -o tmpso $(SHLIBLDFLAGS) -Wl,-soname,dlname solist $(REQUIREDLIBS) BaseShLibReqs # elif defined(SVR4Architecture) # define CannaLinkTmpSharedLibrary(tmpso,dlname,solist) \ $(CCENVSETUP) $(LD) -o tmpso $(SHLIBLDFLAGS) -h dlname solist $(REQUIREDLIBS) BaseShLibReqs # else # error unsupported platform # endif /* CannaLinkTmpSharedLibrary */ # define CannaSharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(CannaLongShLib(libname,rev)) @@\ @@\ CannaLongShLib(libname,rev): solist $(EXTRALIBRARYDEPS) @@\ $(RM) $@~ @@\ @SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \ @@\ (cd down; CannaLinkTmpSharedLibrary(up/$@~,$$SONAME,solist)); \ @@\ $(RM) $$SONAME; $(LN) $@ $$SONAME @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ @if $(SOSYMLINK); then (set -x; \ @@\ $(RM) CannaShortShLib(libname); \ @@\ $(LN) $@ CannaShortShLib(libname)); fi @@\ @@\ clean:: @@\ @MAJREV=`expr rev : '\([^.]*\)'`; \ @@\ set -x; $(RM) CannaLongShLib(libname,$$MAJREV) @@\ $(RM) CannaLongShLib(libname,rev) CannaShortShLib(libname) /* CannaSharedLibraryTarget */ # define CannaInstallSharedLibrary(libname,rev,dest) @@\ install:: CannaLongShLib(libname,rev) @@\ MakeDir($(DESTDIR)dest) @@\ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) CannaLongShLib(libname,rev) $(DESTDIR)dest @@\ @T=`echo $(DESTDIR)dest/CannaLongShLib(libname,rev) | sed 's/\.[^\.]*$$//'`;\ set -x; $(RM) $$T && $(LN) CannaLongShLib(libname,rev) $$T @@\ @if $(SOSYMLINK); then (set -x; \ $(RM) $(DESTDIR)dest/CannaShortShLib(libname); \ @@\ $(LN) CannaLongShLib(libname,rev) $(DESTDIR)dest/CannaShortShLib(libname)); fi /* CannaInstallSharedLibrary */ #elif defined(CYGWIN_DLL) /* libname-def.cppを作るのが面倒なのでXのSharedLibraryTargetを上書き */ # define CannaSharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat3(lib,libname,.dll)) @@\ @@\ Concat3(lib,libname,.dll): solist @@\ RemoveFile(LibraryTargetName(libname)) @@\ RemoveFile(Concat3(lib,libname,.dll)) @@\ gcc -shared -nostartfiles -Wl,--out-implib=Concat(lib,libname.a) -o Concat3(lib,libname,.dll) solist $(REQUIREDLIBS) @@\ @@\ clean:: @@\ RemoveFile(LibraryTargetName(libname)) @@\ RemoveFile(Concat3(lib,libname,.dll)) /* CannaSharedLibraryTarget */ /* 4.3.0ではライブラリの命名が変更されているようなので古い命名を使う */ # define CannaInstallSharedLibrary(libname,rev,dest) @@\ InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\ InstallTarget(install,Concat3(lib,libname,.dll),$(INSTBINFLAGS),$(BINDIR)) /* CannaInstallSharedLibrary */ #elif defined(RsArchitecture) /* 以下は IBM 基礎研の古畑さん(furuhata@trl.ibm.co.jp)により書かれました */ # define CannaSharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat(lib,libname.a)) @@\ @@\ Concat(lib,libname.a): solist $(UNSHAREDOBJS) @@\ $(RM) $@~ shr.o @@\ (cd down; $(AR) up/$@~ solist) @@\ dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' > $@.syms @@\ $(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:$@.syms $(REQUIREDLIBS) -lc -lm -L$(libCannaDir) @@\ $(RM) $@~ @@\ $(AR) $@~ shr.o $(UNSHAREDOBJS) @@\ $(RM) $@ shr.o @@\ $(MV) $@~ $@ @@\ @@\ clean:: @@\ $(RM) Concat(lib,libname.a) /* CannaSharedLibraryTarget */ #endif /* Special link rules */ /* 必要に応じてXのルールを上書き */ #ifdef CannaSharedLibraryTarget # ifdef SharedLibraryTarget # undef SharedLibraryTarget # endif # define SharedLibraryTarget CannaSharedLibraryTarget #endif #ifdef CannaInstallSharedLibrary # ifdef InstallSharedLibrary # undef InstallSharedLibrary # endif # define InstallSharedLibrary CannaInstallSharedLibrary #endif #ifdef LinkBuildLibrary # undef LinkBuildLibrary #endif #define LinkBuildLibrary(lib) $(_NULLCMD_) #if defined(DarwinArchitecture) && OSMajorVersion >= 7 \ && defined(XFree86Version) && defined(XF86_VERSION_NUMERIC) # if XFree86Version < XF86_VERSION_NUMERIC(4, 3, 99, 16, 0) # ifdef CppSedMagic # undef CppSedMagic # endif # define CppSedMagic sed -e '/^# *[0-9][0-9]* *.*$$/d' -e '/# *pragma /d' -e '/^XCOMM$$/s//#/' -e '/^XCOMM[^a-zA-Z0-9_]/s/^XCOMM/#/' # endif #endif /* Apple X11 and MacOS X 10.3 */ /* 以下定義が欠けている場合のための代替定義 */ #ifndef ProgramTargetName # if defined(OS2Architecutre) || defined(cygwinArchitecture) # define ProgramTargetName(target) Concat(target,.exe) # else # define ProgramTargetName(target) target # endif #endif /* ProgramTargetName */ #ifndef MakeDirectoriesLong # define MakeDirectoriesLong(step,dirs,owner,group) @@\ step:: @@\ @case '${MFLAGS}' in *[i]*) set +e;; esac; @@\ DirFailPrefix@for i in dirs; do if [ -d $(DESTDIR)$$i ]; then \ @@\ set +x; else (set -x; $(MKDIRHIER) $(DESTDIR)$$i;$(CHOWN) owner $(DESTDIR)$$i;$(CHGRP) group $(DESTDIR)$$i); fi; \ @@\ done #endif /* MakeDirectoriesLong */ #ifndef BaseShLibReqs # define BaseShLibReqs #endif