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