mirror of
https://github.com/MatMoul/g810-led.git
synced 2024-12-23 09:16:11 +00:00
72 lines
2.1 KiB
Makefile
72 lines
2.1 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 setup 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)/usr/bin \
|
|
$(DESTDIR)/etc/$(PROGN)/samples \
|
|
$(DESTDIR)/etc/udev/rules.d
|
|
@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 sample_profiles/* $(DESTDIR)/etc/$(PROGN)/samples
|
|
@cp udev/$(PROGN).rules $(DESTDIR)/etc/udev/rules.d
|
|
@test -s /usr/bin/systemd-run && \
|
|
install -m 755 -d $(DESTDIR)$(SYSTEMDDIR)/system && \
|
|
cp systemd/$(PROGN).service $(DESTDIR)$(SYSTEMDDIR)/system && \
|
|
cp systemd/$(PROGN)-reboot.service $(DESTDIR)$(SYSTEMDDIR)/system
|
|
|
|
install: setup
|
|
@test -s /etc/$(PROGN)/profile || \
|
|
cp /etc/$(PROGN)/samples/group_keys /etc/$(PROGN)/profile
|
|
@test -s /etc/$(PROGN)/reboot || \
|
|
cp /etc/$(PROGN)/samples/all_off /etc/$(PROGN)/reboot
|
|
@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
|