On 24 Jan 2020, at 15:30, Phoebe Goldman wrote:
The impetus for this question is, I have subclassed cl-source-file with org-source-file and have defined tangle-op (as a subclass of both sideway-operation and upward-operation). my perform method is:
(defmethod perform ((op tangle-op) (file org-source-file)) (let* ((input-file (first (input-files op file))) (output-file (first (output-files op file)))) (tangle input-file output-file)))
where (tangle input-file output-file) runs emacs in batch mode to produce a lisp source file.
How can I define my input-files and output-files methods to make the lisp source files appear in some build directory maintained by ASDF, rather than in my source tree?
If I understand Faré correctly, you define output files normally, but then I believe you need to do the following:
``` (defmethod input-files ((op compile-op) (file org-source-file)) (output-files (asdf:make-operation 'tangle-op) file)) ```
If I'm right, this will ensure that `compile-op` sees the translated pathnames for the lisp files, instead of looking in the source directory.