mirror of
https://github.com/MatMoul/g810-led.git
synced 2024-12-23 01:06:11 +00:00
596bc731cf
To ease packaging, the new setup rule only copies files to the correct location. The install rules perform the commands to load the newly installed files.
66 lines
2.0 KiB
Makefile
66 lines
2.0 KiB
Makefile
CC=g++
|
|
CFLAGS=-Wall -O2 -std=gnu++11
|
|
LIB?=hidapi
|
|
ifeq ($(LIB),libusb)
|
|
CPPFLAGS=-Dlibusb
|
|
LDFLAGS=-lusb-1.0
|
|
else
|
|
CPPFLAGS=-Dhidapi
|
|
LDFLAGS=-lhidapi-hidraw
|
|
endif
|
|
PROGN=g810-led
|
|
SYSTEMDDIR?=/usr/lib/systemd
|
|
|
|
.PHONY: all debug clean install uninstall
|
|
|
|
all: bin/$(PROGN)
|
|
|
|
bin/$(PROGN): src/main.cpp src/helpers/*.cpp src/helpers/*.h src/classes/*.cpp src/classes/*.h
|
|
@mkdir -p bin
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS)
|
|
|
|
debug: CFLAGS += -g -Wextra -pedantic
|
|
debug: bin/$(PROGN)
|
|
|
|
clean:
|
|
@rm -rf bin
|
|
|
|
setup:
|
|
@install -m 755 -d $(DESTDIR)/etc/udev/rules.d $(DESTDIR)/usr/bin
|
|
@cp bin/$(PROGN) $(DESTDIR)/usr/bin
|
|
@test -s $(DESTDIR)/usr/bin/g410-led || ln -s /usr/bin/$(PROGN) $(DESTDIR)/usr/bin/g410-led
|
|
@test -s $(DESTDIR)/usr/bin/g610-led || ln -s /usr/bin/$(PROGN) $(DESTDIR)/usr/bin/g610-led
|
|
@test -s $(DESTDIR)/usr/bin/g910-led || ln -s /usr/bin/$(PROGN) $(DESTDIR)/usr/bin/g910-led
|
|
@cp udev/$(PROGN).rules $(DESTDIR)/etc/udev/rules.d
|
|
@install -m 755 -d $(DESTDIR)/etc/$(PROGN)/samples $(DESTDIR)$(SYSTEMDDIR)/system
|
|
@cp sample_profiles/* $(DESTDIR)/etc/$(PROGN)/samples
|
|
@cp $(DESTDIR)/etc/$(PROGN)/samples/group_keys $(DESTDIR)/etc/$(PROGN)/profile
|
|
@cp $(DESTDIR)/etc/$(PROGN)/samples/all_off $(DESTDIR)/etc/$(PROGN)/reboot
|
|
@cp systemd/$(PROGN).service $(DESTDIR)$(SYSTEMDDIR)/system
|
|
@cp systemd/$(PROGN)-reboot.service $(DESTDIR)$(SYSTEMDDIR)/system
|
|
|
|
install: setup
|
|
@udevadm control --reload-rules
|
|
@test -s /usr/bin/systemd-run && \
|
|
systemctl daemon-reload && \
|
|
systemctl start $(PROGN) && \
|
|
systemctl enable $(PROGN) && \
|
|
systemctl enable $(PROGN)-reboot
|
|
|
|
uninstall:
|
|
@test -s /usr/bin/systemd-run && \
|
|
systemctl disable $(PROGN) && \
|
|
systemctl disable $(PROGN)-reboot && \
|
|
rm $(SYSTEMDDIR)/system/$(PROGN).service && \
|
|
rm $(SYSTEMDDIR)/system/$(PROGN)-reboot.service && \
|
|
systemctl daemon-reload && \
|
|
rm -R /etc/$(PROGN)
|
|
|
|
@rm /usr/bin/g410-led
|
|
@rm /usr/bin/g610-led
|
|
@rm /usr/bin/g910-led
|
|
@rm /usr/bin/$(PROGN)
|
|
|
|
@rm /etc/udev/rules.d/$(PROGN).rules
|
|
@udevadm control --reload-rules
|