ALL_DIRS ?= $(filter-out %~ lean-toolchain% Makefile%, $(wildcard *)) UPDATE_DIRS = $(addprefix update-,$(ALL_DIRS)) VERIFY_DIRS = $(addprefix verif-,$(ALL_DIRS)) CLEAN_DIRS = $(addprefix clean-,$(ALL_DIRS)) COPY_LEAN_TOOLCHAIN = $(addprefix copy-lean-toolchain-,$(ALL_DIRS)) .PHONY: all all: prepare-projects verify .PHONY: prepare-projects prepare-projects: $(COPY_LEAN_TOOLCHAIN) .PHONY: prepare-projects copy-lean-toolchain-%: cp lean-toolchain $* .PHONY: update update: $(UPDATE_DIRS) .PHONY: update-% update-%: cd $* && lake update .PHONY: verify verify: $(VERIFY_DIRS) .PHONY: verif-% verif-%: cd $* && lake build .PHONY: clean clean: $(CLEAN_DIRS) .PHONY: clean-% clean-%: cd $* && lake clean