parameters: (self, sources)
return_statement: return self.determine_target_name(sources[0].name())
docstring: Determine the name of the produced target from the
          names of the sources.
docstring_summary: Determine the name of the produced target from the
          names of the sources.
docstring_tokens: Determine the name of the produced target from the names of the sources .
function: def determine_output_name(self, sources):
          """Determine the name of the produced target from the
          names of the sources."""
          
          # The simple case if when a name
          # of source has single dot. Then, we take the part before
          # dot. Several dots can be caused by:
          # - Using source file like a.host.cpp
          # - A type which suffix has a dot. Say, we can
          #   type 'host_cpp' with extension 'host.cpp'.
          # In the first case, we want to take the part till the last
          # dot. In the second case -- no sure, but for now take
          # the part till the last dot too.
          name = os.path.splitext(sources[0].name())[0]
                          
          for s in sources[1:]:
              n2 = os.path.splitext(s.name())
              if n2 != name:
                  get_manager().errors()(
                      "%s: source targets have different names: cannot determine target name"
                      % (self.id_))
                          
          # Names of sources might include directory. We should strip it.
          return self.determine_target_name(sources[0].name())
function_tokens: def determine_output_name ( self , sources ) : # The simple case if when a name # of source has single dot. Then, we take the part before # dot. Several dots can be caused by: # - Using source file like a.host.cpp # - A type which suffix has a dot. Say, we can #   type 'host_cpp' with extension 'host.cpp'. # In the first case, we want to take the part till the last # dot. In the second case -- no sure, but for now take # the part till the last dot too. name = os . path . splitext ( sources [ 0 ] . name ( ) ) [ 0 ] for s in sources [ 1 : ] : n2 = os . path . splitext ( s . name ( ) ) if n2 != name : get_manager ( ) . errors ( ) ( "%s: source targets have different names: cannot determine target name" % ( self . id_ ) ) # Names of sources might include directory. We should strip it. return self . determine_target_name ( sources [ 0 ] . name ( ) )