NAME goals - an experimental tool that generalizes “make” SUMMARY goals ['TARGET'] ['VAR=VALUE'] [-C|--directory DIRECTORY] [-d] [-f|--file Goalfile] [-I|--include DIRECTORY] [-j|--jobs JOBS] [--no-prelude] [-k|--keep-going] [-s|--silent|--quiet] goals --help goals -v|--version DESCRIPTION Goals is a command line tool similar in concept to 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 Goalfile(5). OPTIONS -h --help Display short help summary and exit. -C DIRECTORY --directory DIRECTORY When goals starts up, and before reading the initial Goalfile or doing any other processing, goals changes directory. -d Enable very verbose debugging. -f GOALFILE --file GOALFILE Set the name of the initial goal file to read. The default name is Goalfile. Note that if a relative path is given here, it is relative to the directory specified with the *-C* option, or to the current directory if *-C* was not used. -I DIRECTORY --include DIRECTORY Specify an include directory, used when including goal files using the "include" directive. You can use this option multiple times. Later directories have priority over earlier ones. There is also an implicit %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 *-C* option, or to the current directory if *-C* was not used. -j JOBS --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 *-j 1*. --no-prelude Do not load prelude.gl from %stdlib. The default is that the prelude is always loaded automatically before any initial goal file (but you can redefine prelude definitions in your goal file if you want). -k --keep-going Continue as much as possible after an error. The target that failed and anything that depends on that target (recursively) will fail and the program as a whole will still exit with an error, but as many targets as can be built will be built. -s --silent --quiet Don't print the shell commands that are run. This is the same as turning all "{ CODE }" sections into "@{ CODE }" sections. SEE ALSO Goalfile(5), make(1). AUTHORS Richard W.M. Jones COPYRIGHT Copyright (C) 2020 Richard W.M. Jones Copyright (C) 2020 Red Hat Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.