# download ledgers for all years all: \ dc17 \ dc18 \ dc19 \ dc20 \ dc21 \ dc22 \ dc23 \ dc24 \ dc25 \ # dc26 \ recent: \ dc24 \ dc25 \ # dc26 \ # make dc-YY - clone the budget directory for this year, make it hledger-readable, add a top-level file dc%: git clone --filter=blob:none --sparse http://salsa.debian.org/debconf-team/public/data/$@ git -C $@ sparse-checkout set --no-cone budget '!budget/invoices' git -C $@ apply --allow-empty ../patches/$@.patch printf 'include $@/budget/journal.ledger\ninclude $@/budget/forex.db\n' > 20$*.ledger # make check-ledger, check-hledger - check readability of all years (main journal) check-%: @for d in dc*; do printf "$$d: "; $* -f $$d/budget/journal.ledger stats >/dev/null && echo ok; done # make hledger-'ARGS' - run a hledger command on all years (main journal) hledger-%: @for d in dc*; do printf "\n$$d:\n"; hledger -f $$d/budget/journal.ledger $*; done # maintenance clean: rm -rf dc* 2*.ledger # make rg-PAT - ripgrep for PAT in ledger,inc,db files in all years rg-%: rg -g '*.{ledger,inc,db}' '$*' # make all years hledger-readable fixups: # ensure at least two whitespace chars before amounts: sed -i -E 's/(\w)\t(\w)/ \t/' dc*/budget/*.ledger # ensure a decimal mark in commodity declarations: sed -i -E 's/^( +format +\w+ +[0-9]+(,[0-9]+)+)$$/\1.00/' dc*/budget/commodities.inc # convert amount expressions to simple amounts (use ledgereval or ledger eval) # show uncommitted changes in each year diff: for d in dc*; do echo $$d:; git -C $$d diff; done # save patch files for each year save-patches: for d in dc*; do GIT_PAGER= git -C $$d diff >patches/$$d.patch; done