.elファイルをファイルにコンパイルするメイクファイル スニペットを作成しようとしてい.elcます。次のスニペットがあります。
.el.elc:
$(EMACS) -q -Q --batch \
--eval "(progn
(setq load-path (cons \"$(abs_srcdir)\" load-path))
(setq load-path (cons nil load-path))
(defun byte-compile-dest-file (f) \"$@\")
(condition-case nil
(byte-compile-file \"$<\")
(error (kill-emacs 1))))"
(私はスニペットをプレゼンテーション用にフォーマットしましたが、makeおそらくこのようにレイアウトするのは好きではないでしょう.)
$(abs_srcdir)は正しく定義されていますが、2 つの問題があります。
まず、次のようなディレクトリ レイアウトを使用します。
+- foo.el <- foo.el lives in $(abs_srcdir)
+- _build/
++- bar.el
++- Makefile
(つまりfoo.el、srcdir にある VPATH ビルドをビルドしようとしてい_buildます。)
( および を介して) にbar.el依存している場合、コンパイルの試行は次のエラーで失敗します。foo.el(require 'foo)(provide 'foo)bar.elc
In toplevel form:
../bar.el:1:1:Error: Cannot open load file: foo
これは奇妙に思えます。なぜなら、私$(abs_srcdir)はload-path. 何が起こったか?
2 番目の問題は、これが発生した場合でも、呼び出しを でemacsラップしようとしているにもかかわらず、ステータス 0 で終了することです。ここで何が起こったのですか?(byte-compile-file)(condition-case)