File: Makefile

package info (click to toggle)
asahi-scripts 20250713-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 316 kB
  • sloc: sh: 860; makefile: 117
file content (130 lines) | stat: -rw-r--r-- 6,037 bytes parent folder | download
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