summaryrefslogtreecommitdiff
blob: ff3b31d013264e1c509fe3b35c02ca450251772e (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
From 4b8d397fc7a0d22a51ee13428ae13d892c0cc911 Mon Sep 17 00:00:00 2001
From: Florian Schmaus <flo@geekplace.eu>
Date: Thu, 20 Oct 2022 10:48:54 +0200
Subject: [PATCH] Makefile: fix install_udev target by s/TARGETS/MAKECMDGOALS/

A Gentoo user reported [1] that the 'install_udev' target would
install a systemd-flavored udev rules, despite the 'systemd' target
not being selected. Replacing 'TARGETS' with 'MAKECMDGOALS' in the
Makefile rule fixes this .

I am not sure where the TARGETS variable origniates from, but GNU make
uses MAKECMDGOALS (FreeBSD make uses .TARGETS, i.e., with a leading
dot). So if further portability between make variants is required,
then this needs to be adjusted.

1: https://bugs.gentoo.org/803545#c3
Fixes: ae1f18a06039 ("udev rule: Dynamically call either systemd or autorandr directly depending on whether systemd unit is available")
--- a/Makefile
+++ b/Makefile
@@ -129,7 +129,7 @@ endif
 install_udev:
 	$(if $(UDEV_RULES_DIR),,$(error UDEV_RULES_DIR is not defined))
 	mkdir -p ${DESTDIR}/${UDEV_RULES_DIR}/
-	echo 'ACTION=="change", SUBSYSTEM=="drm", RUN+="$(if $(findstring systemd, $(TARGETS)),/bin/systemctl start --no-block autorandr.service,${PREFIX}/bin/autorandr --batch --change --default default)"' > ${DESTDIR}/${UDEV_RULES_DIR}/40-monitor-hotplug.rules
+	echo 'ACTION=="change", SUBSYSTEM=="drm", RUN+="$(if $(findstring systemd, $(MAKECMDGOALS)),/bin/systemctl start --no-block autorandr.service,${PREFIX}/bin/autorandr --batch --change --default default)"' > ${DESTDIR}/${UDEV_RULES_DIR}/40-monitor-hotplug.rules
 	@echo
 	@echo "To activate the udev rules, run this command as root:"
 	@echo "    udevadm control --reload-rules"