If the only reason you're not using h2xs is because it
creates new files (blowing away the ones you already have),
then the solution might be easy. Copy your .xs, etc. files
into a new, safe location, and run h2xs on them there, to
generate a sample Makefile.PL. Then steal the clues from
that Makefile.PL, and paste them into your hand-built
Makefile.PL.
Of course, I say this not understanding your file/directory structure: it may be too complicated to get completely useful results. But perhaps you could pull out just enough of your code to give h2xs the clues it needs to help you?
Alan