# [[Taskfile]] #build | _Created: 2025-06-13_ ## Links - Docs: https://taskfile.dev/ - Github: https://github.com/go-task/task ## Notes ### Using sources as a variable Unlike GNU Make's `lt;`/`$^` , Taskfile doesn't have a magic variable for all sources. This annoyingly means that if you want to use the `sources/generates` keys in a task to only build when sources have changed, like Make, you will have to specify the list of sources twice - once in `sources` and one in the actual task. There is [an open ticket](https://github.com/go-task/task/issues/948) for it, and [a recent PR](https://github.com/go-task/task/pull/2047) for a new Task variable. The current workaround for this is using YAML aliases. ```yaml tasks: buildcss: desc: Bundle CSS files into a single file sources: &sources - ".obsidian/snippets/*.css" - "publish-minimal-catpuccin.css" generates: - publish.css vars: SOURCES: *sources ... ```