code: static function run_generate_md5sums( $task=null, $args=array(), $cliopts=array() )
      {
          $opts = self::getOpts( @$args[0], @$args[1], $cliopts );
          if ( $opts['create']['filelist_md5'] )
          {
              if ( !SharedLock::acquire( $opts['extension']['name'], LOCK_EX, $opts ) )
                  throw new PakeException( "Source code locked by another process" );
  
              $destdir = self::getBuildDir( $opts ) . '/' . $opts['extension']['name'];
              // make sure we do not add to checksum file the file itself
              @unlink( $destdir . '/share/filelist.md5'  );
              $files = pakeFinder::type( 'file' )->in( $destdir );
              $out = array();
              $rootpath =  pakeFinder::type( 'directory' )->name( $opts['extension']['name'] )->in( self::getBuildDir( $opts ) );
              foreach( $files as $file )
              {
                  $out[] = md5_file( $file ) . '  ' . ltrim( str_replace( array( $rootpath[0], '\\' ), array( '', '/' ), $file ), '/' );
              }
              pake_mkdirs( $destdir . '/share' );
              file_put_contents( $destdir . '/share/filelist.md5', implode( "\n", $out ) );
              pake_echo_action('file+', $destdir . '/share/filelist.md5' );
  
              SharedLock::release( $opts['extension']['name'], LOCK_EX, $opts );
          }
      }
docs: Creates a share/filelist.md5 file, with the checksum of all files in the build.
  
  This task is only run if in the configuration file md5 creation is specified.