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
|
#! /usr/bin/make -f
# Copyright (C) 2019-2022 Rémi Denis-Courmont. See COPYING.
CC ?= cc
INSTALL = install
PKG_CONFIG ?= pkg-config
CFLAGS ?= -g -O2 -Wall -Wextra
LDFLAGS ?=
LIBS =
override CC += -std=gnu11 -pthread
override CPPFLAGS += -DPIC -DHAVE_CONFIG_H -I.
override CFLAGS += -fPIC
override LDFLAGS += -Wl,-no-undefined
override LIBS += -lm
# VLC auto-configuration
ifeq ($(shell $(PKG_CONFIG) --modversion 'vlc-plugin >= 3'),)
$(error $(PKG_CONFIG) --print-errors 'vlc-plugin >= 3')
endif
ifeq ($(shell $(PKG_CONFIG) --modversion 'libpipewire-0.3 >= 0.3.50'),)
$(error $(PKG_CONFIG) --print-errors 'libpipewire-0.3 >= 0.3.50')
endif
VLC_PLUGIN_CFLAGS := $(shell $(PKG_CONFIG) --cflags vlc-plugin)
VLC_PLUGIN_LIBS := $(shell $(PKG_CONFIG) --libs vlc-plugin)
PIPEWIRE_CFLAGS := $(shell $(PKG_CONFIG) --cflags libpipewire-0.3)
PIPEWIRE_LIBS := $(shell $(PKG_CONFIG) --libs libpipewire-0.3)
override CFLAGS += $(VLC_PLUGIN_CFLAGS) $(PIPEWIRE_CFLAGS)
override LIBS += $(VLC_PLUGIN_LIBS) $(PIPEWIRE_LIBS)
pkgdatadir := $(shell $(PKG_CONFIG) --variable pkgdatadir vlc-plugin)
pluginsdir := $(shell $(PKG_CONFIG) --variable pluginsdir vlc-plugin)
aoutdir := $(pluginsdir)/audio_output
# Build rules
all: libaout_pipewire_plugin.so
install: all
mkdir -p -- $(DESTDIR)$(aoutdir)
$(INSTALL) --mode 0755 libaout_pipewire_plugin.so $(DESTDIR)$(aoutdir)
install-strip:
$(MAKE) install INSTALL="$(INSTALL) -s"
uninstall:
rm -f -- $(aoutdir)/libaout_pipewire_plugin.so
mostlyclean:
rm -f -- lib*_plugin.so */*/*.o
clean: mostlyclean
dist:
v=$$(git describe --always); \
git archive --prefix "vlc-plugin-pipewire-$$v/" HEAD | \
xz -9 > "vlc-plugin-pipewire-$$v.tar.xz"
libaout_pipewire_la_SOURCES = \
modules/audio_output/vlc_pipewire.c \
modules/audio_output/pipewire.c
libaout_pipewire_plugin.so: $(libaout_pipewire_la_SOURCES:%.c=%.o)
$(CC) $(LDFLAGS) -shared -o $@ $^ $(LIBS)
.PHONY: all install install-strip uninstall clean mostlyclean dist
|