]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/blobdiff - Makefile
Call autorandr via systemd from udev, remove pmutils script on systemd systems
[deb_pkgs/autorandr.git] / Makefile
index 797bf597bade630b917ca513696558825f36b7e4..7125730d3bfe285ce6d70760e4d0bc3928ec8bea 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -53,6 +53,9 @@ DEFAULT_TARGETS+=autostart_config
 
 install_autostart_config:
        install -D -m 644 contrib/etc/xdg/autostart/autorandr.desktop ${DESTDIR}/${XDG_AUTOSTART_DIR}/autorandr.desktop
+ifneq ($(PREFIX),/usr/)
+       sed -i -re 's#/usr/bin/autorandr#$(subst #,\#,${PREFIX})/bin/autorandr#g' ${DESTDIR}/${XDG_AUTOSTART_DIR}/autorandr.desktop
+endif
 
 uninstall_autostart_config:
        rm -f ${DESTDIR}/${XDG_AUTOSTART_DIR}/autorandr.desktop
@@ -66,6 +69,14 @@ endif
 install_systemd:
        $(if $(SYSTEMD_UNIT_DIR),,$(error SYSTEMD_UNIT_DIR is not defined))
        install -D -m 644 contrib/systemd/autorandr.service ${DESTDIR}/${SYSTEMD_UNIT_DIR}/autorandr.service
+ifneq ($(PREFIX),/usr/)
+       sed -i -re 's#/usr/bin/autorandr#$(subst #,\#,${PREFIX})/bin/autorandr#g' ${DESTDIR}/${SYSTEMD_UNIT_DIR}/autorandr.service
+endif
+       @echo
+       @echo "To activate the systemd unit, run this command as root:"
+       @echo "    systemctl daemon-reload"
+       @echo "    systemctl enable autorandr.service"
+       @echo
 
 uninstall_systemd:
        $(if $(SYSTEMD_UNIT_DIR),,$(error SYSTEMD_UNIT_DIR is not defined))
@@ -82,6 +93,9 @@ endif
 install_pmutils:
        $(if $(PM_SLEEPHOOKS_DIR),,$(error PM_SLEEPHOOKS_DIR is not defined))
        install -D -m 755 contrib/pm-utils/40autorandr ${DESTDIR}/${PM_SLEEPHOOKS_DIR}/40autorandr
+ifneq ($(PREFIX),/usr/)
+       sed -i -re 's#/usr/bin/autorandr#$(subst #,\#,${PREFIX})/bin/autorandr#g' ${DESTDIR}/${PM_SLEEPHOOKS_DIR}/40autorandr
+endif
 
 uninstall_pmutils:
        $(if $(PM_SLEEPHOOKS_DIR),,$(error PM_SLEEPHOOKS_DIR is not defined))
@@ -96,13 +110,12 @@ endif
 
 install_udev:
        $(if $(UDEV_RULES_DIR),,$(error UDEV_RULES_DIR is not defined))
-       install -D -m 644 contrib/udev/40-monitor-hotplug.rules ${DESTDIR}/${UDEV_RULES_DIR}/40-monitor-hotplug.rules
-ifeq (${USER},root)
-       udevadm control --reload-rules
-else
-       @echo "Please run this command as root:"
+       mkdir -p ${DESTDIR}/${UDEV_RULES_DIR}/
+       echo 'ACTION=="change", SUBSYSTEM=="drm", RUN+="$(if $(findstring systemd, $(TARGETS)),/bin/systemctl start 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"
-endif
+       @echo
 
 uninstall_udev:
        $(if $(UDEV_RULES_DIR),,$(error UDEV_RULES_DIR is not defined))