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.