if you issue the following (available in quicklisp):
(asdf:load-system :hu.dwim.zlib)
then for the first time it should generate a lisp file, which then gets compiled and loaded.
issuing it for the second time shouldn't do anything, but since some revisions it regenerates the lisp file every time.
the relevant code is somewhere around here:
https://github.com/cffi/cffi/blob/master/src/c2ffi/asdf.lisp#L135
i tried to trace the INPUT-FILES, OUTPUT-FILES, PERFORM, OPERATION-DONE-P methods, but i don't see anything wrong.
one unusual thing is that the output of GENERATE-LISP-OP goes into the src/ directory, not to the usual fasl output dir. same applies to GENERATE-SPEC-OP.
any ideas how to debug this? or what to look at?