2016-08-13 16:46:35 -04:00
|
|
|
TOPDIR=$(shell pwd)
|
2017-04-15 08:41:32 -04:00
|
|
|
UNAME=$(shell uname)
|
2016-08-13 16:46:35 -04:00
|
|
|
|
2010-07-16 11:35:51 -04:00
|
|
|
INSTALL=install
|
|
|
|
PREFIX=/usr
|
2011-01-20 04:36:03 -05:00
|
|
|
SYSCONFDIR=/etc
|
2015-04-26 14:57:47 -04:00
|
|
|
PKG_CONFIG=pkg-config
|
2016-02-18 12:54:35 -05:00
|
|
|
MANDIR=/usr/share/man
|
2009-03-11 17:17:00 -04:00
|
|
|
|
2011-07-13 10:56:27 -04:00
|
|
|
# Check if pkg-config is installed, we need it for building CFLAGS/LIBS
|
2015-04-26 14:57:47 -04:00
|
|
|
ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)
|
|
|
|
$(error "$(PKG_CONFIG) was not found")
|
2010-07-16 11:35:51 -04:00
|
|
|
endif
|
2009-03-11 17:17:00 -04:00
|
|
|
|
2010-07-16 11:35:51 -04:00
|
|
|
CFLAGS += -std=c99
|
|
|
|
CFLAGS += -pipe
|
|
|
|
CFLAGS += -Wall
|
2016-10-22 09:31:53 -04:00
|
|
|
CFLAGS += -O2
|
2016-11-05 05:07:42 -04:00
|
|
|
SIMD_CFLAGS += -funroll-loops
|
2017-02-17 22:41:10 -05:00
|
|
|
SIMD_CFLAGS += -msse2
|
2011-07-13 10:56:27 -04:00
|
|
|
CPPFLAGS += -D_GNU_SOURCE
|
2016-04-28 12:35:51 -04:00
|
|
|
CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )
|
2017-04-14 14:00:23 -04:00
|
|
|
CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)
|
|
|
|
LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)
|
2011-07-13 10:56:27 -04:00
|
|
|
LIBS += -lpam
|
2011-12-28 14:28:18 -05:00
|
|
|
LIBS += -lev
|
2014-05-02 13:57:22 -04:00
|
|
|
LIBS += -lm
|
2009-03-11 17:17:00 -04:00
|
|
|
|
2017-04-15 08:41:32 -04:00
|
|
|
# OpenBSD lacks PAM, use bsd_auth(3) instead.
|
|
|
|
ifneq ($(UNAME),OpenBSD)
|
|
|
|
LIBS += -lpam
|
|
|
|
endif
|
|
|
|
|
2010-07-16 11:35:51 -04:00
|
|
|
FILES:=$(wildcard *.c)
|
|
|
|
FILES:=$(FILES:.c=.o)
|
2009-03-11 17:17:00 -04:00
|
|
|
|
2016-08-13 16:46:35 -04:00
|
|
|
ifeq ($(wildcard .git),)
|
|
|
|
# not in git repository
|
|
|
|
VERSION := $(shell [ -f $(TOPDIR)/I3LOCK_VERSION ] && cat $(TOPDIR)/I3LOCK_VERSION | cut -d '-' -f 1)
|
2017-06-18 11:56:05 -04:00
|
|
|
I3LOCK_VERSION:='$(shell [ -f $(TOPDIR)/I3LOCK_VERSION ] && cat $(TOPDIR)/I3LOCK_VERSION)'
|
2016-08-13 16:46:35 -04:00
|
|
|
else
|
|
|
|
VERSION:=$(shell git describe --tags --abbrev=0)
|
|
|
|
I3LOCK_VERSION:="$(shell git describe --tags --always) ($(shell git log --pretty=format:%cd --date=short -n1))"
|
|
|
|
endif
|
|
|
|
CPPFLAGS += -DVERSION=\"${I3LOCK_VERSION}\"
|
2009-03-11 17:17:00 -04:00
|
|
|
|
2010-07-16 11:35:51 -04:00
|
|
|
.PHONY: install clean uninstall
|
2009-03-11 17:17:00 -04:00
|
|
|
|
2016-03-27 13:03:07 -04:00
|
|
|
all: i3lock
|
2009-03-11 17:17:00 -04:00
|
|
|
|
2016-10-14 14:47:22 -04:00
|
|
|
debug: CFLAGS += -g
|
|
|
|
debug: i3lock
|
|
|
|
|
2016-11-05 05:07:05 -04:00
|
|
|
blur_simd.o : CFLAGS += $(SIMD_CFLAGS)
|
2016-03-27 13:03:07 -04:00
|
|
|
i3lock: ${FILES}
|
2011-07-13 10:56:27 -04:00
|
|
|
$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
|
2009-03-11 17:17:00 -04:00
|
|
|
|
|
|
|
clean:
|
2016-03-27 13:03:07 -04:00
|
|
|
rm -f i3lock ${FILES} i3lock-${VERSION}.tar.gz
|
2009-03-11 17:17:00 -04:00
|
|
|
|
|
|
|
install: all
|
|
|
|
$(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
|
2011-01-20 04:36:03 -05:00
|
|
|
$(INSTALL) -d $(DESTDIR)$(SYSCONFDIR)/pam.d
|
2016-10-18 16:31:13 -04:00
|
|
|
$(INSTALL) -d $(DESTDIR)$(MANDIR)/man1
|
2016-03-27 13:03:07 -04:00
|
|
|
$(INSTALL) -m 755 i3lock $(DESTDIR)$(PREFIX)/bin/i3lock
|
|
|
|
$(INSTALL) -m 644 i3lock.pam $(DESTDIR)$(SYSCONFDIR)/pam.d/i3lock
|
|
|
|
gzip -kf i3lock.1
|
2016-10-18 16:13:00 -04:00
|
|
|
$(INSTALL) -m 644 i3lock.1.gz $(DESTDIR)$(MANDIR)/man1/i3lock.1.gz
|
2009-03-11 17:17:00 -04:00
|
|
|
|
|
|
|
uninstall:
|
2016-03-27 13:03:07 -04:00
|
|
|
rm -f $(DESTDIR)$(PREFIX)/bin/i3lock
|
2016-10-18 16:13:00 -04:00
|
|
|
rm -f $(DESTDIR)$(MANDIR)/man1/i3lock.1.gz
|
2011-11-06 09:20:40 -05:00
|
|
|
|
|
|
|
dist: clean
|
2016-03-27 13:03:07 -04:00
|
|
|
[ ! -d i3lock-${VERSION} ] || rm -rf i3lock-${VERSION}
|
|
|
|
[ ! -e i3lock-${VERSION}.tar.bz2 ] || rm i3lock-${VERSION}.tar.bz2
|
2011-11-06 09:20:40 -05:00
|
|
|
mkdir i3lock-${VERSION}
|
2015-05-20 03:00:19 -04:00
|
|
|
cp *.c *.h i3lock.1 i3lock.pam Makefile LICENSE README.md CHANGELOG i3lock-${VERSION}
|
2017-06-18 11:56:05 -04:00
|
|
|
sed -e 's/^\s*I3LOCK_VERSION:=\(.*\)/I3LOCK_VERSION:=$(shell /bin/echo '${I3LOCK_VERSION}' | sed 's/\\/\\\\/g')/g;s/^VERSION:=\(.*\)/VERSION:=${VERSION}/g' Makefile > i3lock-${VERSION}/Makefile
|
2016-03-27 13:03:07 -04:00
|
|
|
tar cfj i3lock-${VERSION}.tar.bz2 i3lock-${VERSION}
|
|
|
|
rm -rf i3lock-${VERSION}
|