def CCompiler_object_filenames(self, source_filenames, strip_dir=<NUM_LIT:0>, output_dir='<STR_LIT>'):
if output_dir is None:<EOL><INDENT>output_dir = '<STR_LIT>'<EOL><DEDENT>obj_names = []<EOL>for src_name in source_filenames:<EOL><INDENT>base, ext = os.path.splitext(os.path.normpath(src_name))<EOL>base = os.path.splitdrive(base)[<NUM_LIT:1>] <EOL>base = base[os.path.isabs(base):]  <EOL>if base.startswith('<STR_LIT:..>'):<EOL><INDENT>i = base.rfind('<STR_LIT:..>')+<NUM_LIT:2><EOL>d = base[:i]<EOL>d = os.path.basename(os.path.abspath(d))<EOL>base = d + base[i:]<EOL><DEDENT>if ext not in self.src_extensions:<EOL><INDENT>raise UnknownFileError("<STR_LIT>" % (ext, src_name))<EOL><DEDENT>if strip_dir:<EOL><INDENT>base = os.path.basename(base)<EOL><DEDENT>obj_name = os.path.join(output_dir, base + self.obj_extension)<EOL>obj_names.append(obj_name)<EOL><DEDENT>return obj_names<EOL>
Return the name of the object files for the given source files.

Parameters
----------
source_filenames : list of str
    The list of paths to source files. Paths can be either relative or
    absolute, this is handled transparently.
strip_dir : bool, optional
    Whether to strip the directory from the returned paths. If True,
    the file name prepended by `output_dir` is returned. Default is False.
output_dir : str, optional
    If given, this path is prepended to the returned paths to the
    object files.

Returns
-------
obj_names : list of str
    The list of paths to the object files corresponding to the source
    files in `source_filenames`.