sig
  val target : bool -> unit
  val target_all : bool list -> unit
  val target_exists : bool list -> unit
  val require : (unit -> unit) -> unit
  type period_t = Seconds | Days | Months | Years
  val seconds : int * Goaljobs.period_t
  val sec : int * Goaljobs.period_t
  val secs : int * Goaljobs.period_t
  val second : int * Goaljobs.period_t
  val minutes : int * Goaljobs.period_t
  val min : int * Goaljobs.period_t
  val mins : int * Goaljobs.period_t
  val minute : int * Goaljobs.period_t
  val hours : int * Goaljobs.period_t
  val hour : int * Goaljobs.period_t
  val days : int * Goaljobs.period_t
  val day : int * Goaljobs.period_t
  val weeks : int * Goaljobs.period_t
  val week : int * Goaljobs.period_t
  val months : int * Goaljobs.period_t
  val month : int * Goaljobs.period_t
  val years : int * Goaljobs.period_t
  val year : int * Goaljobs.period_t
  val every :
    ?name:string -> int -> int * Goaljobs.period_t -> (unit -> unit) -> unit
  val file_exists : string -> bool
  val directory_exists : string -> bool
  val file_newer_than : string -> string -> bool
  val more_recent : string list -> string list -> bool
  val url_exists : string -> bool
  val file_contains_string : string -> string -> bool
  val url_contains_string : string -> string -> bool
  val ( // ) : string -> string -> string
  val quote : string -> string
  val sh : ?tmpdir:bool -> ('a, unit, string, unit) Pervasives.format4 -> 'a
  val shout :
    ?tmpdir:bool -> ('a, unit, string, string) Pervasives.format4 -> 'a
  val shlines :
    ?tmpdir:bool -> ('a, unit, string, string list) Pervasives.format4 -> 'a
  val shell : string Pervasives.ref
  val change_file_extension : string -> string -> string
  val memory_exists : string -> bool
  val memory_set : string -> string -> unit
  val memory_get : string -> string option
  val memory_delete : string -> unit
  val publish : string -> (string list -> unit) -> unit
  val goal_file_exists : string -> unit
  val goal_directory_exists : string -> unit
  val goal_file_newer_than : string -> string -> unit
  val goal_more_recent : string list -> string list -> unit
  val goal_url_exists : string -> unit
  val goal_file_contains_string : string -> string -> unit
  val goal_url_contains_string : string -> string -> unit
  val goal_memory_exists : string -> unit
  val init : unit -> unit
  type goal_result_t = Goal_OK | Goal_failed of string
  exception Goal_result of Goaljobs.goal_result_t
end