/ 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/