/ Makefile
Makefile
 1  PREFIX   ?= /usr
 2  SBINDIR  ?= $(PREFIX)/sbin
 3  CONFDIR  ?= /etc
 4  DESTDIR  ?=
 5  
 6  VERSION  := $(shell sed -n 's/^readonly VERSION="\(.*\)"/\1/p' be-btrfs.sh)
 7  PKG_NAME := be-btrfs
 8  PKG_ARCH := all
 9  
10  # --- Install / Uninstall ---
11  
12  .PHONY: install uninstall deb apk clean
13  
14  install:
15  	install -Dm755 be-btrfs.sh    $(DESTDIR)$(SBINDIR)/be-btrfs
16  	install -Dm644 be-btrfs.conf  $(DESTDIR)$(CONFDIR)/be-btrfs.conf
17  	install -Dm644 misc/be-btrfs-completion.bash \
18  	    $(DESTDIR)$(CONFDIR)/bash_completion.d/be-btrfs
19  	install -Dm644 misc/_be-btrfs \
20  	    $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions/_be-btrfs
21  	install -Dm644 misc/be-btrfs.fish \
22  	    $(DESTDIR)$(PREFIX)/share/fish/vendor_completions.d/be-btrfs.fish
23  	install -d $(DESTDIR)$(CONFDIR)/apt/apt.conf.d
24  	sed 's|@bindir@|$(SBINDIR)|g' misc/90-boot-environments.conf.in \
25  	    > $(DESTDIR)$(CONFDIR)/apt/apt.conf.d/90-boot-environments.conf
26  
27  uninstall:
28  	rm -f $(DESTDIR)$(SBINDIR)/be-btrfs
29  	rm -f $(DESTDIR)$(CONFDIR)/be-btrfs.conf
30  	rm -f $(DESTDIR)$(CONFDIR)/bash_completion.d/be-btrfs
31  	rm -f $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions/_be-btrfs
32  	rm -f $(DESTDIR)$(PREFIX)/share/fish/vendor_completions.d/be-btrfs.fish
33  	rm -f $(DESTDIR)$(CONFDIR)/apt/apt.conf.d/90-boot-environments.conf
34  
35  # --- .deb package (dpkg-deb) ---
36  
37  DEB_DIR  := build/deb/$(PKG_NAME)_$(VERSION)_$(PKG_ARCH)
38  DEB_FILE := build/$(PKG_NAME)_$(VERSION)_$(PKG_ARCH).deb
39  
40  deb:
41  	rm -rf $(DEB_DIR)
42  	$(MAKE) install DESTDIR=$(DEB_DIR)
43  	install -d $(DEB_DIR)/DEBIAN
44  	sed -e 's/@VERSION@/$(VERSION)/g' \
45  	    -e 's/@ARCH@/$(PKG_ARCH)/g' \
46  	    pkg/debian/control.in > $(DEB_DIR)/DEBIAN/control
47  	cp pkg/debian/conffiles $(DEB_DIR)/DEBIAN/conffiles
48  	dpkg-deb --root-owner-group --build $(DEB_DIR) $(DEB_FILE)
49  	@echo "Built: $(DEB_FILE)"
50  
51  # --- Alpine .apk package (abuild) ---
52  
53  APK_SRCDIR := build/apk
54  
55  apk:
56  	rm -rf $(APK_SRCDIR)
57  	install -d $(APK_SRCDIR)
58  	sed 's/@VERSION@/$(VERSION)/g' pkg/alpine/APKBUILD.in > $(APK_SRCDIR)/APKBUILD
59  	tar czf $(APK_SRCDIR)/$(PKG_NAME)-$(VERSION).tar.gz \
60  	    --transform='s,^,$(PKG_NAME)-$(VERSION)/,' \
61  	    be-btrfs.sh be-btrfs.conf misc/ Makefile
62  	cd $(APK_SRCDIR) && abuild checksum && abuild -rd
63  	@echo "APK built (check ~/packages/)"
64  
65  # --- Clean ---
66  
67  clean:
68  	rm -rf build/