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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
PREFIX=/usr
SYS_PREFIX=$(PREFIX)
CONFIG_DIR=/etc/default
BIN_DIR=$(PREFIX)/bin
SCRIPTS=asahi-diagnose asahi-fwupdate update-m1n1
ARCH_SCRIPTS=update-grub first-boot
UNITS=first-boot.service
MULTI_USER_WANTS=first-boot.service
DRACUT_CONF_DIR=$(PREFIX)/lib/dracut/dracut.conf.d
DRACUT_MODULES_DIR=$(PREFIX)/lib/dracut/modules.d
SYSTEMD_UNIT_DIR=$(PREFIX)/lib/systemd/system
UDEV_RULES_DIR=$(PREFIX)/lib/udev/rules.d
UDEV_HWDB_DIR=$(PREFIX)/lib/udev/hwdb.d
BUILD_SCRIPTS=$(addprefix build/,$(SCRIPTS))
BUILD_ARCH_SCRIPTS=$(addprefix build/,$(ARCH_SCRIPTS))
all: $(BUILD_SCRIPTS) $(BUILD_ARCH_SCRIPTS)
build/%: %
@[ ! -e build ] && mkdir -p build || true
sed -e s,/etc/default,$(CONFIG_DIR),g "$<" > "$@"
chmod +x "$@"
clean:
rm -rf build
install: all
install -d $(DESTDIR)$(BIN_DIR)/
install -m0755 -t $(DESTDIR)$(BIN_DIR)/ $(BUILD_SCRIPTS)
install -dD $(DESTDIR)/etc
install -dD $(DESTDIR)$(PREFIX)/share/asahi-scripts
install -m0644 -t $(DESTDIR)$(PREFIX)/share/asahi-scripts functions.sh
install -dD $(DESTDIR)/$(SYS_PREFIX)/lib/firmware/vendor
install-mkinitcpio: install
install -dD $(DESTDIR)$(PREFIX)/lib/initcpio/install
install -m0644 -t $(DESTDIR)$(PREFIX)/lib/initcpio/install initcpio/install/asahi
install -dD $(DESTDIR)$(PREFIX)/lib/initcpio/hooks
install -m0644 -t $(DESTDIR)$(PREFIX)/lib/initcpio/hooks initcpio/hooks/asahi
install-dracut: install
install -dD $(DESTDIR)$(DRACUT_CONF_DIR)
install -m0644 -t $(DESTDIR)$(DRACUT_CONF_DIR) dracut/dracut.conf.d/10-asahi.conf
install -dD $(DESTDIR)$(DRACUT_MODULES_DIR)/91kernel-modules-asahi
install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/91kernel-modules-asahi dracut/modules.d/91kernel-modules-asahi/module-setup.sh
install -dD $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware
install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware dracut/modules.d/99asahi-firmware/install-asahi-firmware.sh
install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware dracut/modules.d/99asahi-firmware/load-asahi-firmware.sh
install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware dracut/modules.d/99asahi-firmware/module-setup.sh
install-macsmc-battery: install
install -dD $(DESTDIR)$(SYSTEMD_UNIT_DIR)
install -dD $(DESTDIR)$(UDEV_RULES_DIR)
install -m0755 -t $(DESTDIR)$(SYSTEMD_UNIT_DIR) macsmc-battery/systemd/macsmc-battery-charge-control-end-threshold.path
install -m0755 -t $(DESTDIR)$(SYSTEMD_UNIT_DIR) macsmc-battery/systemd/macsmc-battery-charge-control-end-threshold.service
install -m0644 -t $(DESTDIR)$(UDEV_RULES_DIR) macsmc-battery/udev/93-macsmc-battery-charge-control.rules
install-udev-hwdb: install
install -dD $(DESTDIR)$(UDEV_HWDB_DIR)
install -m0644 -t $(DESTDIR)$(UDEV_HWDB_DIR) udev/hwdb.d/65-autosuspend-override-asahi-sdhci.hwdb
install-initramfs: install
install -d $(DESTDIR)/etc/kernel/postinst.d/
install -m0755 -t $(DESTDIR)/etc/kernel/postinst.d/ initramfs/kernel/zz-update-m1n1
install -d $(DESTDIR)/etc/kernel/postrm.d/
install -m0755 -t $(DESTDIR)/etc/kernel/postrm.d/ initramfs/kernel/zz-update-m1n1
install -d $(DESTDIR)$(PREFIX)/share/initramfs-tools/hooks/
install -m0755 -t $(DESTDIR)$(PREFIX)/share/initramfs-tools/hooks/ initramfs/hooks/asahi
install -d $(DESTDIR)$(PREFIX)/share/initramfs-tools/scripts/init-top
install -m0755 -t $(DESTDIR)$(PREFIX)/share/initramfs-tools/scripts/init-top initramfs/scripts/init-top/asahi
install -d $(DESTDIR)$(PREFIX)/share/initramfs-tools/scripts/init-bottom
install -m0755 -t $(DESTDIR)$(PREFIX)/share/initramfs-tools/scripts/init-bottom initramfs/scripts/init-bottom/asahi
install -m0644 -t $(DESTDIR)$(PREFIX)/share/asahi-scripts initramfs/modules
install-arch: install install-mkinitcpio install-macsmc-battery install-udev-hwdb
install -m0755 -t $(DESTDIR)$(BIN_DIR)/ $(BUILD_ARCH_SCRIPTS)
install -dD $(DESTDIR)$(PREFIX)/lib/systemd/system
install -dD $(DESTDIR)$(PREFIX)/lib/systemd/system/{multi-user,sysinit}.target.wants
install -m0644 -t $(DESTDIR)$(PREFIX)/lib/systemd/system $(addprefix systemd/,$(UNITS))
ln -sf $(addprefix $(PREFIX)/lib/systemd/system/,$(MULTI_USER_WANTS)) \
$(DESTDIR)$(PREFIX)/lib/systemd/system/multi-user.target.wants/
install -dD $(DESTDIR)$(PREFIX)/share/libalpm/hooks
install -m0644 -t $(DESTDIR)$(PREFIX)/share/libalpm/hooks libalpm/hooks/95-m1n1-install.hook
install-fedora: install install-dracut install-macsmc-battery install-udev-hwdb
install-debian: install install-dracut install-macsmc-battery install-udev-hwdb install-initramfs
uninstall:
rm -f $(addprefix $(DESTDIR)$(BIN_DIR)/,$(SCRIPTS))
rm -rf $(DESTDIR)$(PREFIX)/share/asahi-scripts
uninstall-mkinitcpio:
rm -f $(DESTDIR)$(PREFIX)/lib/initcpio/install/asahi
rm -f $(DESTDIR)$(PREFIX)/lib/initcpio/hooks/asahi
uninstall-dracut:
rm -f $(DESTDIR)$(DRACUT_CONF_DIR)/10-asahi.conf
uninstall-macsmc-battery:
rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/macsmc-battery-charge-control-end-threshold.path
rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/macsmc-battery-charge-control-end-threshold.service
rm -f $(DESTDIR)$(UDEV_RULES_DIR)/93-macsmc-battery-charge-control.rules
uninstall-udev-hwdb:
rm -f $(DESTDIR)$(UDEV_HWDB_DIR)/65-autosuspend-override-asahi-sdhci.hwdb
uninstall-arch: uninstall-mkinitcpio uninstall-macsmc-battery uninstall-udev-hwdb
rm -f $(addprefix $(DESTDIR)$(BIN_DIR)/,$(ARCH_SCRIPTS))
rm -f $(addprefix $(DESTDIR)$(PREFIX)/lib/systemd/system/,$(UNITS))
rm -f $(addprefix $(DESTDIR)$(PREFIX)/lib/systemd/system/multi-user.target.wants/,$(MULTI_USER_WANTS))
rm -f $(DESTDIR)$(PREFIX)/share/libalpm/hooks/95-m1n1-install.hook
uninstall-fedora: uninstall-dracut uninstall-macsmc-battery uninstall-udev-hwdb
.PHONY: clean \
install \
install-mkinitcpio \
install-dracut \
install-macsmc-battery \
install-udev-hwdb \
install-arch \
install-fedora \
uninstall \
uninstall-mkinitcpio \
uninstall-dracut \
uninstall-macsmc-battery \
uninstall-udev-hwdb \
uninstall-arch \
uninstall-fedora
|