ECL - dump c source for each compilation unit and its dependencies?

I have the following package definition. How to compile all components recursively, as well as their dependencies to source C? In other words, I want to save all the C files that create their own executable file.

I am currently using (asdf:make-build :example , but this does not leave any C files.

I expect to see

 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")) ... 
+6
source share
1 answer

As explained on the ECL mailing list, setting c :: * delete-files * to NIL will prevent the compiler from deleting intermediate C files. They have extensions * .c, * .eclh (header) and * .data (text definitions of objects), but their names are massed by ASDF (they get some IIRC ASDF prefix) and they are not created where lisp sources are, but rather in the ASDF cache directory (usually ~ / .cache / common- lisp / ecl -...)

+7
source

All Articles