makefile / shell 스크립트 호출을 /Applications/application.app로 만들려면 어떻게해야합니까? 잘못된 길을

OS Mac OS X 10.6.6 이맥스 23.2.1

현재 제안 된 make 솔루션을 사용하여 carbon emacs에 magit을 설치하려고합니다. 나는 거의 완전한 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는 탄소 emacs /Application/Emacs.app이며, 클릭하면 열리거나 터미널로 열 수 있습니다.

open /Application/MyApp.app

마지막으로 제목 질문 : 어떻게 응용 프로그램 디렉토리에서 Emacs.app를 사용하여 Makefile을 만들 수 있습니까? 여기 누군가가 답을 알고 있거나 대안을 제시 할 수 있기를 바랍니다.

감사합니다.



답변

쉘에서 Emacs.app를 사용하려면 유닉스 실행 파일이 포함되어 있어야합니다. 그것은 Emacs.app/Contents/MacOS/Emacs에 있습니다 (이 버전의 emacs가 없으므로 대문자가 다를 수 있습니다)

다른 방법은 open을 사용하여 작업 공간에서 open을 사용하여 모든 앱을 시작하는 것입니다.

예 :

open -a Emacs.app --args <all those passed to emacs>

답변

내가 한 것처럼 Google을 통해 다른 사람이 문제를 겪을 경우 이전 질문에 대답하고 있습니다.

Mark가 지적했듯이 Emacs.app 실행 파일을 사용하여 파일을 바이트 컴파일 하려면 Makefile에서 emacs또는 로 바꿔야 합니다. 나는 일반적으로 바이트 컴파일 된 파일이 다른 버전의 Emacs와 호환되지 않는다고 생각하므로 Emacs.app와 함께 사용할 패키지를 설치할 때 기본 Apple이 설치하지 않은이 실행 파일을 사용하여 바이트 컴파일해야합니다 ( 내 10.6 시스템의 버전 ​​22 이맥스)./usr/bin/emacs/Applications/Emacs.app/Contents/MacOS/Emacs/usr/bin/emacs

/usr/bin/emacs다른 이유로 실행해야하는 경우 EMACSLOADPATH최신 Emacs에 속하는 파일이 포함되지 않도록 주의하십시오 . 이것은 다음과 같은 오류 메시지의 잠재적 원인 중 하나입니다.

Cannot open load file: subst-ksc

쉘에서 emacs 호출

EMACSLOADPATH=/usr/share/emacs/22.1/leim:/usr/share/emacs/22.1/lisp:/usr/share/emacs/22.1/site-lisp emacs

트릭을해야합니다.

이것이 다른 누군가를 돕기를 바랍니다!