code: def populate_targets_from_pack(pack_list):
          
          if not isinstance(pack_list, (list, tuple)):
              pack_list = [pack_list]
          for pack_or_path in pack_list:
              if not isinstance(pack_or_path, CmsisPack):
                  pack = CmsisPack(pack_or_path)
              for dev in pack.devices:
                  PackTargets.populate_device(dev)
docs: ! @brief Adds targets defined in the provided CMSIS-Pack.
  
          Targets are added to the `#TARGET` list.
  
          @param pack_list Sequence of strings that are paths to .pack files, file objects,
              ZipFile instances, or CmsisPack instance. May also be a single object of one of
              the accepted types.