39 lines
1.5 KiB
Makefile
39 lines
1.5 KiB
Makefile
CXX ?= g++
|
|
PKG_CONFIG ?= pkg-config
|
|
PREFIX ?= /usr/local
|
|
BIN_DIR ?= $(PREFIX)/bin
|
|
APPLICATIONS_DIR ?= $(PREFIX)/share/applications
|
|
SYSTEM_HELPER := $(BIN_DIR)/reforger-kwin-capture
|
|
DESKTOP_FILE := org.codex.reforger-kwin-capture.desktop
|
|
|
|
QT_CFLAGS := $(shell $(PKG_CONFIG) --cflags Qt6Core Qt6DBus)
|
|
QT_LIBS := $(shell $(PKG_CONFIG) --libs Qt6Core Qt6DBus)
|
|
PORTAL_CFLAGS := $(shell $(PKG_CONFIG) --cflags Qt6Core Qt6DBus Qt6Gui gstreamer-1.0 gstreamer-app-1.0 gstreamer-video-1.0)
|
|
PORTAL_LIBS := $(shell $(PKG_CONFIG) --libs Qt6Core Qt6DBus Qt6Gui gstreamer-1.0 gstreamer-app-1.0 gstreamer-video-1.0)
|
|
MOC ?= /usr/lib/qt6/moc
|
|
|
|
.PHONY: all clean install-kwin-auth uninstall-kwin-auth
|
|
|
|
all: kwin_capture_screen portal_capture_frame
|
|
|
|
kwin_capture_screen: kwin_capture_screen.cpp kwin_capture_screen.moc
|
|
$(CXX) -std=c++17 -O2 -Wall -Wextra -fPIC $(QT_CFLAGS) $< -o $@ $(QT_LIBS)
|
|
|
|
kwin_capture_screen.moc: kwin_capture_screen.cpp
|
|
$(MOC) $< -o $@
|
|
|
|
portal_capture_frame: portal_capture_frame.cpp portal_capture_frame.moc
|
|
$(CXX) -std=c++17 -O2 -Wall -Wextra -fPIC $(PORTAL_CFLAGS) $< -o $@ $(PORTAL_LIBS)
|
|
|
|
portal_capture_frame.moc: portal_capture_frame.cpp
|
|
$(MOC) $< -o $@
|
|
|
|
install-kwin-auth: kwin_capture_screen $(DESKTOP_FILE)
|
|
install -Dm755 kwin_capture_screen "$(DESTDIR)$(SYSTEM_HELPER)"
|
|
install -Dm644 $(DESKTOP_FILE) "$(DESTDIR)$(APPLICATIONS_DIR)/$(DESKTOP_FILE)"
|
|
|
|
uninstall-kwin-auth:
|
|
rm -f "$(DESTDIR)$(SYSTEM_HELPER)" "$(DESTDIR)$(APPLICATIONS_DIR)/$(DESKTOP_FILE)"
|
|
|
|
clean:
|
|
rm -f kwin_capture_screen kwin_capture_screen.moc portal_capture_frame portal_capture_frame.moc
|