# File lib/nanoc/base/compilation/compiler.rb, line 77
    def run(*args)
      # Create output directory if necessary
      FileUtils.mkdir_p(@site.config[:output_dir])

      # Compile reps
      load
      @site.freeze

      # Determine which reps need to be recompiled
      forget_dependencies_if_outdated(items)

      dependency_tracker.start
      compile_reps(reps)
      dependency_tracker.stop
      store
    ensure
      # Cleanup
      FileUtils.rm_rf(Nanoc::Filter::TMP_BINARY_ITEMS_DIR)
    end