Mac os x:如何使用makefile引用/应用程序/应用程序

时间:2011-02-27 13:52:42

标签: makefile osx-snow-leopard carbon-emacs

OS Mac OS X 10.6.6 emacs 23.2.1

我目前正在尝试使用他们提出的make解决方案在carbon emacs上安装magit。我是一个几乎完整的makefile newby所以我可能完全走错了路。 Makefile显示:

%.elc: %.el
$(BATCH) --eval '(byte-compile-file "$<")'

扩展为:

emacs -batch -q -no-site-file -eval "(setq load-path (cons (expand-file-name \".\") load-path))" --eval '(byte-compile-file "magit.el")'

我的理解。然而它回来了:

Cannot open load file: subst-ksc

经过一番谷歌搜索后发现了一些丢失的库。我还意识到扩展命令中引用的emacs指向/ usr / bin / emacs这是一个大文件,我没有看到正常的lisp / site-lisp / etc目录。我也知道我喜欢的emacs是位于/Application/Emacs.app中的carbon emacs,它只是在点击时打开,或者我可以在终端打开它:

open /Application/MyApp.app

最后标题问题:如何使用应用程序目录中的Emacs.app制作Makefile?我希望有人知道答案,或者可以指出我的替代方案。

的问候, 的Jeroen。

3 个答案:

答案 0 :(得分:2)

 bash-3.2$ EMACSLOADPATH=/usr/share/emacs/22.1/site-lisp:/usr/share/emacs/22.1/lisp emacs - batch -eval '(print "hi")'

 "hi"  
 bash-3.2$ emacs -batch -eval '(print "hi")'
 Cannot open load file: subst-ksc
 bash-3.2$

答案 1 :(得分:1)

bash-3.2$ emacs -batch -eval '(print emacs-version)'
Cannot open load file: subst-ksc

bash-3.2$ unset EMACSLOADPATH

bash-3.2$ emacs -batch -eval '(print emacs-version)'

"22.1.1"

答案 2 :(得分:1)

我在OS X Maverick上运行

时遇到了同样的错误Cannot open load file: subst-ksc
cask exec emacs --no-site-file --no-site-lisp --batch \
     \
    -f batch-byte-compile projectile.el

我用给定here的方法解决了它。

用以下脚本替换/usr/bin/emacs文件:

#!/bin/sh
/Applications/Emacs.app/Contents/MacOS/Emacs "$@"

以这种方式,emacs命令将运行您的实际Emacs。