ASDF がコンパイルされたファイルを格納するディレクトリを設定したいと思います。私はシェルスクリプトからそれを行うことを好みます。このページによると、環境変数を定義する必要がありますASDF_OUTPUT_TRANSLATIONS
。
わかりました、ここにあります:
$ export ASDF_OUTPUT_TRANSLATIONS="$HOME/.cache/common-lisp/my-dir/"
しかし、構成をテストしようとすると、機能しません。
$ clisp -x "(asdf:compile-system :my-system)"
出力:
;; Loading file /home/mark/.clisprc.lisp ...
;; Loading file /home/mark/quicklisp/setup.lisp ...
*** - Uneven number of components in source to destination mapping:
"/home/mark/.cache/common-lisp/my-dir/"
Bye.
さよなら。まあ、それは可能な出力の1つです。に多くの値を割り当てようとしましたASDF_OUTPUT_TRANSLATIONS
。偶数と奇数。小さくて大きい。失敗。そのような構成の例があれば、これはずっと簡単ですが、見つけることができませんでした。
もう 1 つの問題は、ASDF がすべてを 1 つのディレクトリに配置するときに、コンパイルされるシステムが互いに同じ名前のファイルを上書きしないかどうかわからないことです。私が本当に欲しいのは、シェルスクリプトから出力ディレクトリを一時的に設定することです。これにより、ソースファイルがどこにあるかに関係なく、すべてのファイルが予測可能な場所に配置されます。