fsmgr != command -v fsmgr ifeq ($(fsmgr),) $(error "no fsmgr") endif UID != id -u SUDO != [ 0 = "$(UID)" ] || echo sudo .DEFAULT_GOAL = all .PHONY: all clean cleaner all: $(addprefix _filesystem/samizdat., seed.btrfs patch.btrfs) subvolumes = _build _filesystem $(subvolumes): $(SUDO) btrfs subvolume create $@ clean: -$(SUDO) btrfs subvolume delete _build destroy: clean -$(SUDO) btrfs subvolume delete _filesystem %.btrfs: | $(subvolumes) $(SUDO) $(fsmgr) build $@