X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=TODO;h=992f8e39e1a0ba64cde74a1f4d5a487e0a5c0424;hb=7c0f0662d00ba21743fdb2bc538e89065c0765ad;hp=e631e68195b2d4e84fa074c34517915590a84f8c;hpb=c174a4fd1a71ae545ca0845c4b748da5f843e932;p=goals.git diff --git a/TODO b/TODO index e631e68..992f8e3 100644 --- a/TODO +++ b/TODO @@ -6,18 +6,12 @@ Default parameters, ie: 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. - -"Quiet" code. Generally {CODE} sections in user files should be -echos, and those in stdlib should run silently (except if debugging). -Maybe we should have a quiet keyword to indicate this? - 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). @@ -28,4 +22,21 @@ Let within functions and goals, eg: Unclear if this would be helpful or not. Implement more make functions, see: -https://www.gnu.org/software/make/manual/html_node/Functions.html#Functions \ No newline at end of file +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 + +Code should be an expression, eg this ought to work: +let foo = { echo "hello" } +and/or anonymous functions: +let foo = function (arg) { ... } + +Infinite loop when you have this goal: +goal pod2man (page, section) = "docs/%page.%section" : "docs/%page.pod" { ... } +This is caused by %section matching "pod" so the rule is called +again, even if the local file docs/%page.pod actually exists.