DAYS = $(shell seq 1 25 | xargs printf "%02i\n") .PHONY: all all:: define make-day all:: $1/run .PHONY: $1/run $1/run: @echo "== day $1 ==" @echo -en "\npart 1: " && cd $1 && time python3 solve.py 1 @echo -en "\npart 2: " && cd $1 && time python3 solve.py 2 @echo "" endef $(foreach day,$(DAYS),$(eval $(call make-day,$(day))))