コンテキスト:WindowsのCygWinでOpenLDAPをコンパイルしています。
私はマニュアルページ(そしておそらく他のドキュメント、私はコンパイルを完了することに焦点を当てています)に興味がないので、それらをオンラインで取得できるので、設定および/またはmakeがその世代(または少なくともその世代)をスキップするようにどのように通知できますか? )インストールする)?
答え1
実行する前に変数から削除するには、プロジェクトのルートで編集してください./configure
。これにより、ビルドおよびインストール中にサブディレクトリのすべての内容が無視されます。Makefile.in
doc
SUBDIRS
doc
sed -i '/SUBDIRS/s/doc//' Makefile.in
答え2
makeファイルを見ると、先頭にスペースがない一連のルールが表示されます。おなじみのルールはinstall
通常makeファイルの一番下に配置されますが、他のルールも多くあることがよくあります。マニュアルページのソースファイル(通常は1桁のファイル拡張子を持つ)または特定のドキュメントディレクトリを参照する規則を見つけます。一度見つけたら、3つのオプションがあります。 1) 対応するコマンドを削除して空のルールにするか (つまり、後ろのスペースで始まる行)、2) への参照を削除します (たとえば、他のルールを参照)。名前付きルールを検索するか、3)そのルールを適用しない既存のインストールルールを見つけます。
実際の makefile から抜粋した内容を使って例をあげましょう。
default: all
all: lisp info
info:
cd doc && $(MAKE) EMACS="$(EMACS)"
install: install-lisp install-info
install-lisp: lisp
@$(SHELL) $(srcdir)/mkinstalldirs "$(DESTDIR)$(lispdir)";\
install-info: info
@echo "cd doc && $(MAKE) EMACS=\"$(EMACS)\"
dist: Makefile foo.elc
$(MAKE) tarball \
clean:
-rm -rf $(PACKAGE)* ;\
distclean: clean
-rm -f config.log config.status config.cache Makefile
上記の例では、次の行を削除しinfo:
てinstall-info:
空のルールにするか、ルールinstall-info
からinstall
単語(で始まる行install:
)を削除することをお勧めします。
次に、3番目の(最も良い)オプションのサンプルファイルをもう一度見てください。コマンドがあることがわかりinstall-lisp
ます。ドキュメントのインストールを除くすべての操作を実行するのがわかります。install
これは、2つのコマンドコマンドの唯一の操作だからです。したがって、この例では実際にmake install
何も変更する必要はありませんmake install-lisp
。 makeファイルも同様のオプションを提供できます。確認してみないとわかりません。
最後にしたくない場合はどうなりますかmake install
?おそらくあなたはただ普通のショーをしたいかもしれませんmake
。これを行うにはdefault
;というルールを見つけます。これは、make
特定のコマンドなしで呼び出されるときに使用される規則になります。私の例では、default
ルールがという別のルールを指しており、そのルールがというall
2つの異なるルールを呼び出すことがわかります。例を貼り付けると、簡潔にするためにほとんどの行が切り捨てられ、ルールのテキストはここにはありませんが、コマンドではなくコマンドを使用したいことは明らかですので、単に実行するだけです。lisp
info
lisp
info
make lisp