Exact requirements
The project should have a build mode where the binary takes the emulator code from its shared library instead of duplicating the code. This reduces the package size when distributions install both the library and the emulator.
Suggested solution
This should be a trivial adjustment to the build system.
Also note that you probably want to set the soname in the installed library and use so versionning.