Cargo doesn't scan a directory for changed dependencies recursively, so do that as part of the build.py script.
Start out easy by emiting an opcodes.rs file containing an opcode enumeration.
Hook up a Cargo build script that runs a Python script in the meta directory.