dunst/config.mk
Nikos Tsipinakis 3357743210 Make selecting which multi-monitor selection to use simpler
Use a single MULTIMON variable which can be set to either xrandr,
xinerama or none and replace the previous system which used 2 variables
for each extension which were then added to CFLAGS and instead append
xrandr or xinerama respectively to pkg_config_packs so their
availability can be checked with pkg-config.

The main advantage of this is that the extension can now be set from
the command like like so 'MULTIMON=xinerama make'
2017-04-02 19:37:59 +03:00

61 lines
1.9 KiB
Makefile

# paths
PREFIX ?= /usr/local
MANPREFIX = ${PREFIX}/share/man
# In dist tarballs, the version is stored in the VERSION files.
VERSION := '$(shell [ -f VERSION ] && cat VERSION)'
ifeq ('',$(VERSION))
VERSION := $(shell git describe --tags)
endif
# Specifies which X extension dunst should use for multi monitor support
# Possible values are randr, xinerama or none
# * xrandr is the recommended/default value and should be the best option in most cases
# * xinerama is the legacy equivalent to randr but does not support some more
# advanced features like per-monitor dpi calculation it should probably one
# be used if xrandr cannot be used for some reason.
# * none disables multi-monitor support and dunst will assume only one monitor.
MULTIMON ?= xrandr
# uncomment to disable parsing of dunstrc
# or use "CFLAGS=-DSTATIC_CONFIG make" to build
#STATIC= -DSTATIC_CONFIG
PKG_CONFIG:=$(shell which pkg-config)
ifeq (${PKG_CONFIG}, ${EMPTY})
$(error "Failed to find pkg-config, please make sure it is installed")
endif
# flags
CPPFLAGS += -D_DEFAULT_SOURCE -DVERSION=\"${VERSION}\"
CFLAGS += -g --std=gnu99 -pedantic -Wall -Wno-overlength-strings -Os ${STATIC} ${CPPFLAGS}
pkg_config_packs := dbus-1 x11 xscrnsaver \
"glib-2.0 >= 2.36" gio-2.0 \
pangocairo gdk-2.0
ifeq ($(MULTIMON), xrandr)
pkg_config_packs += xrandr
CFLAGS += -DXRANDR
else ifeq ($(MULTIMON), xinerama)
pkg_config_packs += xinerama
CFLAGS += -DXINERAMA
endif
# check if we need libxdg-basedir
ifeq (,$(findstring STATIC_CONFIG,$(CFLAGS)))
pkg_config_packs += libxdg-basedir
endif
# includes and libs
INCS := $(shell ${PKG_CONFIG} --cflags ${pkg_config_packs})
CFLAGS += ${INCS}
LDFLAGS += -lm -L${X11LIB} -lXss $(shell ${PKG_CONFIG} --libs ${pkg_config_packs})
# only make this an fatal error when where not cleaning
ifneq (clean, $(MAKECMDGOALS))
ifeq (${INCS}, ${EMPTY})
$(error "pkg-config failed, see errors above")
endif
endif