You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.5 KiB
79 lines
2.5 KiB
.PHONY: all clean install install-usb-gadget uninstall uninstall-usb-gadget debug man |
|
DESTDIR= |
|
PREFIX=/usr |
|
|
|
LOCK_FILE="/var/run/keyd.lock" |
|
SOCKET="/var/run/keyd.socket" |
|
LOG_FILE="/var/log/keyd.log" |
|
CONFIG_DIR="/etc/keyd" |
|
|
|
VERSION=2.2.6-beta |
|
GIT_HASH=$(shell git describe --no-match --always --abbrev=40 --dirty) |
|
|
|
CFLAGS+=-DVERSION=\"$(VERSION)\" \ |
|
-DGIT_COMMIT_HASH=\"$(GIT_HASH)\" \ |
|
-DCONFIG_DIR=\"$(CONFIG_DIR)\" \ |
|
-DLOG_FILE=\"$(LOG_FILE)\" \ |
|
-DSOCKET=\"$(SOCKET)\" \ |
|
-DLOCK_FILE=\"$(LOCK_FILE)\" \ |
|
-I/usr/local/include \ |
|
-L/usr/local/lib |
|
LDFLAGS+=$(shell if [ `uname -s` != Linux ]; then echo -linotify; fi) |
|
|
|
all: vkbd-uinput |
|
vkbd-%: |
|
mkdir -p bin |
|
$(CC) $(CFLAGS) -O3 src/*.c src/vkbd/$(@:vkbd-%=%).c -o bin/keyd -lpthread $(LDFLAGS) |
|
debug: |
|
CFLAGS+="-pedantic -Wall -Wextra -g" $(MAKE) |
|
man: |
|
pandoc -s -t man man.md | gzip > keyd.1.gz |
|
clean: |
|
-rm -rf bin |
|
install: |
|
mkdir -p $(DESTDIR)/etc/keyd |
|
mkdir -p $(DESTDIR)$(PREFIX)/bin |
|
mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1 |
|
mkdir -p $(DESTDIR)$(PREFIX)/share/doc/keyd |
|
mkdir -p $(DESTDIR)$(PREFIX)/share/doc/keyd/examples |
|
|
|
@if pgrep -x systemd > /dev/null; then \ |
|
mkdir -p $(DESTDIR)$(PREFIX)/lib/systemd/system; \ |
|
install -m644 keyd.service $(DESTDIR)$(PREFIX)/lib/systemd/system; \ |
|
else \ |
|
echo "NOTE: systemd not found, you will need to manually add keyd to your system's init process."; \ |
|
fi |
|
|
|
@if [ -e /usr/share/libinput/ ]; then \ |
|
install -m644 keyd.quirks $(DESTDIR)$(PREFIX)/share/libinput/30-keyd.quirks; \ |
|
else \ |
|
echo "WARNING: libinput not found, not installing keyd.quirks."; \ |
|
fi |
|
|
|
|
|
-groupadd keyd |
|
install -m755 bin/keyd $(DESTDIR)$(PREFIX)/bin |
|
install -m755 scripts/keyd-application-mapper $(DESTDIR)$(PREFIX)/bin |
|
install -m644 keyd.1.gz $(DESTDIR)$(PREFIX)/share/man/man1 |
|
install -m644 man.md CHANGELOG.md README.md $(DESTDIR)$(PREFIX)/share/doc/keyd |
|
install -m644 examples/* $(DESTDIR)$(PREFIX)/share/doc/keyd/examples |
|
|
|
uninstall: |
|
rm -f $(DESTDIR)$(PREFIX)/share/libinput/30-keyd.quirks\ |
|
$(DESTDIR)$(PREFIX)/lib/systemd/system/keyd.service\ |
|
bin/keyd $(DESTDIR)$(PREFIX)/bin/keyd\ |
|
$(DESTDIR)$(PREFIX)/bin/keyd-application-mapper\ |
|
$(DESTDIR)$(PREFIX)/share/man/man1/keyd.1.gz |
|
|
|
install-usb-gadget: install |
|
install -m644 src/vkbd/usb-gadget.service $(DESTDIR)$(PREFIX)/lib/systemd/system/keyd-usb-gadget.service |
|
install -m755 src/vkbd/usb-gadget.sh $(DESTDIR)$(PREFIX)/bin/keyd-usb-gadget.sh |
|
|
|
uninstall-vkbd-usb-gadget: uninstall |
|
rm -f $(DESTDIR)$(PREFIX)/lib/systemd/system/keyd-usb-gadget.service\ |
|
$(DESTDIR)$(PREFIX)/bin/keyd-usb-gadget.sh |
|
test: all |
|
@cd t; \ |
|
for f in *.sh; do \ |
|
./$$f; \ |
|
done
|
|
|