From 874429aa19832b1e902554381ed5bdd1927c95fa Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sun, 11 May 2025 03:46:19 -0400 Subject: make vendor/product IDs and default device names configurable at build time. --- Makefile | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index a7c2479..80a17d3 100644 --- a/Makefile +++ b/Makefile @@ -9,13 +9,25 @@ PROJ=marsond VERSION=0.3.0 +### Compile-time option. + +# If you change this, yse the full path. It changes the +# default for the -k option. +DEFAULT_KBD=/dev/input/by-id/usb-Marson_Marson_Keyboard_and_Mouse_Link_Ver:ps2120L-event-kbd + +# USB vendor and product IDs don't get baked into the binary, +# they only affect the udev rule. +VENDOR_ID=04b4 +PRODUCT_ID=0101 + ### Compiler and options. CC=gcc # CC=clang works, too COPT=-O2 CWARN=-Wall -CFLAGS=-std=c99 $(COPT) $(CWARN) -DVERSION='"$(VERSION)"' +CDEFS=-DVERSION='"$(VERSION)"' -D DEFAULT_KBD='"$(DEFAULT_KBD)"' +CFLAGS=-std=c99 $(COPT) $(CWARN) $(CDEFS) ### Install paths. Not compiled into the binary. @@ -53,13 +65,16 @@ $(PROJ).8: $(PROJ).rst rst2man $(PROJ).rst > $(PROJ).8 99-$(PROJ).rules: - sed 's,@SBINDIR@,$(SBINDIR),' < 99-$(PROJ).rules.in > 99-$(PROJ).rules + sed -e 's,@SBINDIR@,$(SBINDIR),' \ + -e 's,@VENDOR_ID@,$(VENDOR_ID),' \ + -e 's,@PRODUCT_ID@,$(PRODUCT_ID),' \ + < 99-$(PROJ).rules.in > 99-$(PROJ).rules clean: rm -f $(PROJ) core *.o realclean: clean - rm -f $(PROJ).8 usage.c + rm -f $(PROJ).8 usage.c 99-marsond.rules # this is a "private" target, not expected to work on random systems. # It specifically works on Slackware 15.0, if the system/musl package -- cgit v1.2.3