'The \'target\' argument gives the final file name of the
compiled DLL.  Use \'*\' to force distutils\' choice, suitable for
regular CPython C API modules.  Use a file name ending in \'.*\'
to ask for the system\'s default extension for dynamic libraries
(.so/.dll/.dylib).
The default is \'*\' when building a non-embedded C API extension,
and (module_name + \'.*\') when building an embedded library.'

def compile(self, tmpdir='.', verbose=0, target=None):

    from .recompiler import recompile
    if (not hasattr(self, '_assigned_source')):
        raise ValueError('set_source()    must    be    called    before    compile()')
    (module_name, source, source_extension, kwds) = self._assigned_source
    return recompile(self, module_name, source, tmpdir=tmpdir, target=target, source_extension=source_extension, compiler_verbose=verbose, **kwds)
