2009-10-14 9 views
6

Erlang emacsモードをどのように設定してバッファをコンパイルすると、現在のディレクトリではなくebinディレクトリにビームファイルが書き込まれるのですか?Erlang emacs mode - outdirを設定する

ありがとうございます!

答えて

1

あなたはメーリングリストErlangの質問に、このスレッドを見を持っている場合があります:

http://www.erlang.org/pipermail/erlang-questions/2007-August/028367.html

また、あなたは、デバッグモードでファイルをコンパイルすることができるはずです。 銅CcをCkと

erlang-compileコマンドは、接頭引数をサポートする必要があります。あなたはを見を持っている場合があります:あなたがそうのようなディレクトリ構造を設定した場合

http://www.gnu.org/software/emacs/manual/html_node/elisp/Prefix-Command-Arguments.html

1

/ 
/src/ 
/ebin/ 

とのあなたのモジュール(例えば「my_file.erl」)を置きます "/src/"ディレクトリにコピーしてコンパイルすると(Cc Ck)、Emacsは自動的にビームを"/ebin/"ディレクトリに置くべきです。

しかし、モジュールが "/ src /"という名前のディレクトリにない場合(または "ebin"ディレクトリがない場合)、ビームはソースファイルの横にドロップされます。

この動作の仕組みを確認するには、$ERL_TOP/lib/tools/emacs/erlang.elで「ebin」を検索してください。

(defun inferior-erlang-compile-outdir() 
    "Return the directory to compile the current buffer into." 
    (let* ((buffer-dir (directory-file-name 
       (file-name-directory (buffer-file-name)))) 
    (parent-dir (directory-file-name 
       (file-name-directory buffer-dir))) 
     (ebin-dir (concat (file-name-as-directory parent-dir) "ebin")) 
    (buffer-dir-base-name (file-name-nondirectory 
       (expand-file-name 
       (concat (file-name-as-directory buffer-dir) 
        "."))))) 
    (if (and (string= buffer-dir-base-name "src") 
     (file-directory-p ebin-dir)) 
    (file-name-as-directory ebin-dir) 
     (file-name-as-directory buffer-dir)))) 

わからない

このグッディを添加した場合、それは OTP_R13B03にあった、それがR14B03に私の作品:ここではあなたが見つけるものです。

関連する問題