-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
70 lines (55 loc) · 1.78 KB
/
Copy pathMakefile
File metadata and controls
70 lines (55 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
PKG_CONFIG ?= pkg-config
CXX ?= g++
INSTALL := install
MKDIR := mkdir
RMDIR := rmdir
LN := ln
RM := rm
_PKG_CFLAGS := $(shell $(PKG_CONFIG) --cflags dbus-1 mpv)
_PKG_LDFLAGS := $(shell $(PKG_CONFIG) --libs dbus-1)
CFLAGS += -std=c++11 -Wall -Wextra $(_PKG_CFLAGS)
LDFLAGS += $(_PKG_LDFLAGS)
SCRIPTS_DIR := $(HOME)/.config/mpv/scripts
PREFIX ?= /usr/local
PLUGINDIR := $(PREFIX)/lib/mpv-kde-night-color-playback
SYS_SCRIPTS_DIR := /etc/mpv/scripts
.PHONY: \
all \
install install-user install-system \
uninstall uninstall-user uninstall-system \
clean \
compile_commands
SRC_FILE := kde-night-color.cpp
TARGET_SO := kde-night-color-playback.so
all: $(TARGET_SO)
$(TARGET_SO): $(SRC_FILE)
$(CXX) $(CFLAGS) -fPIC $(SRC_FILE) -shared -o $(TARGET_SO) $(LDFLAGS)
ifneq ($(shell id -u),0)
install: install-user
uninstall: uninstall-user
else
install: install-system
uninstall: uninstall-system
endif
install-user: kde-night-color-playback.so
$(MKDIR) -p "$(SCRIPTS_DIR)"
$(INSTALL) -t "$(SCRIPTS_DIR)" $(TARGET_SO)
uninstall-user:
$(RM) -f "$(SCRIPTS_DIR)/$(TARGET_SO)"
-$(RMDIR) -p "$(SCRIPTS_DIR)" 2>/dev/null
install-system: kde-night-color-playback.so
$(MKDIR) -p "$(DESTDIR)$(PLUGINDIR)"
$(INSTALL) -t "$(DESTDIR)$(PLUGINDIR)" $(TARGET_SO)
$(MKDIR) -p "$(DESTDIR)$(SYS_SCRIPTS_DIR)"
$(LN) -sf "$(PLUGINDIR)/$(TARGET_SO)" "$(DESTDIR)$(SYS_SCRIPTS_DIR)/$(TARGET_SO)"
uninstall-system:
$(RM) -f "$(DESTDIR)$(SYS_SCRIPTS_DIR)/$(TARGET_SO)"
-$(RMDIR) -p "$(DESTDIR)$(SYS_SCRIPTS_DIR)" 2>/dev/null
$(RM) -f "$(DESTDIR)$(PLUGINDIR)/$(TARGET_SO)"
-$(RMDIR) -p "$(DESTDIR)$(PLUGINDIR)" 2>/dev/null
clean:
$(RM) -f $(TARGET_SO)
# Target to generate compile_commands.json for VS Code Intellisense
# You need to have 'bear' installed (e.g., sudo apt install bear)
compile_commands:
bear -- make all