stdlib: Implement dirname(), basename() and extension() functions.
[goals.git] / docs / goals.pod
index eca8876..cf67a45 100644 (file)
@@ -2,13 +2,14 @@
 
 =head1 NAME
 
 
 =head1 NAME
 
-goals - an experimental tool that generalizes "make"
+goals - an experimental tool that generalizes “make”
 
 =head1 SUMMARY
 
  goals ['TARGET'] ['VAR=VALUE']
        [-C|--directory DIRECTORY] [-d] [-f|--file Goalfile]
 
 =head1 SUMMARY
 
  goals ['TARGET'] ['VAR=VALUE']
        [-C|--directory DIRECTORY] [-d] [-f|--file Goalfile]
-       [-I|--include DIRECTORY] [--no-prelude]
+       [-I|--include DIRECTORY] [-j|--jobs JOBS] [--no-prelude]
+       [-s|--silent|--quiet]
 
  goals --help
 
 
  goals --help
 
@@ -16,7 +17,17 @@ goals - an experimental tool that generalizes "make"
 
 =head1 DESCRIPTION
 
 
 =head1 DESCRIPTION
 
+Goals is a command line tool similar in concept to L<make(1)> — a way
+to express dependencies between tasks that need to be done.  Goals
+generalizes make so it can express dependencies between not just files
+but anything such as URLs, remote files, remote builds and more.  It
+is also very extensible using only shell scripting, and it fixes many
+problems that make suffers from.
 
 
+This manual page documents the command line tool and options.
+
+There is an introduction to and tutorial on writing goal files, as
+well as a reference manual in L<Goalfile(5)>.
 
 =head1 OPTIONS
 
 
 =head1 OPTIONS
 
@@ -57,13 +68,21 @@ if I<-C> was not used.
 Specify an include directory, used when including goal files using the
 C<include> directive.  You can use this option multiple times.  Later
 directories have priority over earlier ones.  There is also an
 Specify an include directory, used when including goal files using the
 C<include> directive.  You can use this option multiple times.  Later
 directories have priority over earlier ones.  There is also an
-implicit C<%stdlib> directory which is used for prelude files (see
-L<goals-reference(5)>).
+implicit C<%stdlib> directory which is used for prelude files.
 
 Note that if a relative path is given here, it is relative to the
 directory specified with the I<-C> option, or to the current directory
 if I<-C> was not used.
 
 
 Note that if a relative path is given here, it is relative to the
 directory specified with the I<-C> option, or to the current directory
 if I<-C> was not used.
 
+=item B<-j> JOBS
+
+=item B<--jobs> JOBS
+
+Set the maximum number of commands that can run at the same time.
+Unlike make, goals defaults to running in parallel, setting the
+default to the number of cores on the machine.  To disable parallel
+jobs, you must use S<I<-j 1>>.
+
 =item B<--no-prelude>
 
 Do not load F<prelude.gl> from C<%stdlib>.  The default is that the
 =item B<--no-prelude>
 
 Do not load F<prelude.gl> from C<%stdlib>.  The default is that the
@@ -71,11 +90,20 @@ prelude is always loaded automatically before any initial goal file
 (but you can redefine prelude definitions in your goal file if you
 want).
 
 (but you can redefine prelude definitions in your goal file if you
 want).
 
+=item B<-s>
+
+=item B<--silent>
+
+=item B<--quiet>
+
+Don't print the shell commands that are run.  This is the same as
+turning all S<C<{ CODE }>> sections into S<C<@{ CODE }>> sections.
+
 =back
 
 =head1 SEE ALSO
 
 =back
 
 =head1 SEE ALSO
 
-L<Goalfile(5)>, L<goals-reference(5)>, L<make(1)>.
+L<Goalfile(5)>, L<make(1)>.
 
 =head1 AUTHORS
 
 
 =head1 AUTHORS