7

私は次のパッケージ定義を持っています。すべてのコンポーネントと、 Cソースへの依存関係を再帰的にコンパイルするにはどうすればよいですか?つまり、ネイティブ実行可能ファイルの構築に使用されるすべてのCファイルを保持したいと思います。

現在、私は使用しています(asdf:make-build :exampleが、Cファイルは残りません。

私は見ることを期待しています

simple.c
simple.h
simple.data
cl-opengl.c
cl-opengl.h
...

example.asd:

(defsystem :example
  :depends-on (:cl-opengl :cl-glu :cl-glut)
  :serial t
  :components ((:file "simple")))

cl-opengl.asd:

(defsystem cl-opengl
  :description "Common Lisp bindings to OpenGL."
  :depends-on (cffi alexandria)
  :components
  ((:module "gl"
    :components
    ((:file "bindings-package")
     (:file "constants" :depends-on ("bindings-package"))
     (:file "library" :depends-on ("bindings-package"))
     (:file "bindings" :depends-on ("bindings-package" "constants" "library"))
     ...
4

1 に答える 1

9

ECLメーリングリストで説明されているように、c :: * delete-files *をNILに設定すると、コンパイラーは中間Cファイルを削除できなくなります。それらは拡張子*.c、*。eclh(ヘッダー)および* .data(オブジェクトのテキスト定義)を持っていますが、それらの名前はASDFによってマッサージされ(ASDFプレフィックスIIRCを取得します)、lispソースが存在する場所では作成されません、むしろASDFのキャッシュディレクトリ(通常は〜/ .cache / common-lisp / ecl -...)

于 2013-03-02T10:48:37.510 に答える