現在サポートされていないImakefileを使用するいくつかのソフトウェアを構築しています。ソフトウェアにはImake.tmplファイルがあります。これはconfig/cf/Imake.tmplにあります(最上位ディレクトリに基づいて)。
ソフトウェアのサブディレクトリには、私が入力した別のImakefileが含まれているので(下)このマニュアルページ):
xmkmf -a . .
最初の点は最上位ディレクトリを表し、2番目の点は現在のディレクトリを表します。
次のエラーが発生します。
mv -f Makefile Makefile.bak
imake -I./config/cf -DTOPDIR=. -DCURDIR=.
In file included from Imakefile.c:34:0:
./config/cf/Imake.tmpl:33:0: fatal error: site.def: No such file or directory
#include <site.def>
^compilation terminated.
imake: Exit code 1.
Stop.
site.def ファイルは存在し、config/project/site.def の下にあります。
imakeが生成したImakefile.cの内容です。 imakeが実行を完了すると、ファイルは削除されますが、ファイルへのリンクを作成してアーカイブできます。
/* imake - temporary file */
#define DefaultOSName Linux 4.13.0-36-generic x86_64
#define DefaultOSMajorVersion
#define LinuxDebian 4
#define LinuxInfoMagic 5
#define LinuxKheops 6
#define LinuxPro 7
#define LinuxRedHat 8
#define LinuxSlackware 9
#define LinuxTurbo 10
#define LinuxWare 11
#define LinuxYggdrasil 12
#define DefaultLinuxDistribution LinuxDebian
#define DefaultLinuxDistName Debian
#define HasGcc 1
#define HasGcc2 1
#define HasGcc3 1
#define GccMajorVersion 5
#define GccMinorVersion 2
#define INCLUDE_IMAKEFILE </tmp/IIf.j7V6mk>
#define IMAKE_TEMPLATE "Imake.tmpl"
#include IMAKE_TEMPLATE
どんな提案でも大変感謝します。
ベストアンサー1
注:私はこのソフトウェアを定期的に使用しているユーザーでもありimake
ません。本物ビルシステムについて非常によく知っています。しなければならない働く
imake
以下に含めるファイルを探しているというエラーは明らかですconfig/cf
。site.def
config/project
ハッカーはsite.def
現在の場所からファイルをシンボリックリンクするか、そのconfig/cf
場所にファイルのコピーを作成できます。
しかし、それはハッキングであり、あなたが作っているソフトウェアはハッキングなしで正しく構築されると確信しています。そのソフトウェアのマニュアルを参照してください。xmkmf
別のディレクトリで実行する必要がある場合や、Imakefile
ファイルの1つを簡単に変更して-I
プロジェクトに追加のフラグを追加することもできます。