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?

thanks,
Phoebe