私はアーランモードを使用しています。ビームは、フォルダーsrcだけでなく、ネストされたフォルダーにあるソース ファイルと同じフォルダーに生成されます。
erlang.el のInferior-erlang-compile-outdirを上書きする必要があると思いますが、失敗しました。
以下は私の機能です:
(defun inferior-erlang-compile-outdir ()
(let* (format "%s/ebin" (get-project-path))))
PS: get-project-pathは、プロジェクトのルート パスを取得する関数です。
===========更新=================
(require-package 'erlang)
;; add include directory to default compile path.
(defvar erlang-compile-extra-opts
'(bin_opt_info
debug_info
(i . "../include")
(i . "../../include")))
;; define where put beam files.
(defun inferior-erlang-compile-outdir ()
(concat (get-closest-pathname) "/ebin" ))
(require 'erlang-start)
;;----------------------------------------------------------------------------
;; Get closest pathname of file
;;----------------------------------------------------------------------------
(defun* get-closest-pathname (&optional (file "Makefile"))
(let ((dir (locate-dominating-file default-directory file)))
(or dir default-directory)))