You might only allow defaults to be added to the end, or you
might allow goals to be called with labelled parameters.
-Fix: You must use 'all ()' on the command line.
-
Deleting target files if goals is interrupted, but only if the
timestamp changes (what about non-*files?). Also: atomic code. This
will delete the target if the code doesn't run to completion. (make
doesn't do this, but probably it should).
-Implement parallel builds.
+Parallel builds: On failure, wait for other jobs to finish.
Conditional sections (same as "ifeq" etc in make).
Implement more make functions, see:
https://www.gnu.org/software/make/manual/html_node/Functions.html#Functions
+Split "flags" strings. eg. Currently there is no way to pass
+$CFLAGS from autoconf into a goalfile.
+
Make re-execs itself if the Makefile (or any include) changes, and
goals should do something similar. See:
https://www.gnu.org/software/make/manual/html_node/Remaking-Makefiles.html