summaryrefslogtreecommitdiff
path: root/rootfs/Makefile
blob: 3975b3ba0c169630afeb9012c076ab63a3a7f816 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
fsmgr := $(shell which fsmgr)

ifeq ($(fsmgr),)
$(error "no fsmgr")
endif

sudo := $(shell [ "$$(id -u)" = 0 ] || echo sudo)

rootfs ?= samizdat.seed.btrfs
patchfs ?= samizdat.patch.btrfs

.DEFAULT_GOAL = all

.PHONY: all rootfs patchfs clean pristine
all: $(rootfs) $(patchfs)

clean = $(patchfs) $(rootfs) $(patsubst %.seed.btrfs, %.btrfs, $(rootfs))
clean := $(clean) $(patsubst %, %.tmp, $(clean))

clean:
	rm -f $(clean)


pristine: clean
	@# TODO: implement rm --recursive --auto-umount
	@# TODO: consider even rm --root-command=sudo for auto-sudo.  Why not for all coreutils?
	$(sudo) rm -i -rf _build

rootfs: $(rootfs)
patchfs: $(patchfs)

%.patch.btrfs: %.seed.btrfs
	$(sudo) $(fsmgr) build $@

%.seed.btrfs: %.btrfs
	$(sudo) $(fsmgr) build $@

%.btrfs:
	$(sudo) $(fsmgr) build $@

$(patchfs): $(rootfs)

$(patchfs) $(rootfs):
	$(sudo) REWRITE_SOURCES_LIST=y $(fsmgr) build $@