docs: def command_list(self, sources, _opt=False):
          '''command line as list'''
          def abspath(x):
              x = Path(x).abspath()
              if not x.exists():
                  raise ValueError('file not found! ' + x)
              return x
  
          self.f_cpu = int(self.f_cpu)
  
          self.mcu = str(self.mcu)
  #        if not self.mcu  in self.targets:
  #            raise ValueError('invalid mcu:' + self.mcu)
  
          if not _opt:
              sources = [abspath(x) for x in sources]
          includes = [abspath(x) for x in self.includes]
  
          if not self.output:
              self.output = tempfile.NamedTemporaryFile(
                  prefix='pyavrutils_', suffix='.elf', delete=0).name
  
          defines = self.defines + ['F_CPU=' + str(self.f_cpu)]
  
          cmd = [self.cc]
          if not self.use_only_extra_options:
              if not _opt:
                  cmd += sources
              cmd += ['-D' + x for x in defines]
              cmd += ['-I' + x for x in includes]
              if not _opt:
                  cmd += ['-o', self.output]
              cmd += ['-mmcu=' + self.mcu]
              cmd += ['--std=' + self.std]
              if self.relax:
                  cmd += ['-Wl,--relax']
              if self.gc_sections:
                  cmd += ['-Wl,--gc-sections']
              if self.ffunction_sections:
                  cmd += ['-ffunction-sections']
              if self.fdata_sections:
                  cmd += ['-fdata-sections']
              if self.fno_inline_small_functions:
                  cmd += ['-fno-inline-small-functions']
              if self.optimization != 0:
                  cmd += ['-O' + str(self.optimization)]
  
          cmd += self.options_extra
          return cmd