]> git.sur5r.net Git - i3/i3lock/blob - Makefile
Revert "Fix covering of composited notifications (#96)" (#133)
[i3/i3lock] / Makefile
1 TOPDIR=$(shell pwd)
2 UNAME=$(shell uname)
3
4 INSTALL=install
5 PREFIX=/usr
6 SYSCONFDIR=/etc
7 PKG_CONFIG=pkg-config
8
9 # Check if pkg-config is installed, we need it for building CFLAGS/LIBS
10 ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)
11 $(error "$(PKG_CONFIG) was not found")
12 endif
13
14 CFLAGS += -std=c99
15 CFLAGS += -pipe
16 CFLAGS += -Wall
17 CPPFLAGS += -D_GNU_SOURCE
18 CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)
19 LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)
20 LIBS += -lpam
21 LIBS += -lev
22 LIBS += -lm
23
24 # OpenBSD lacks PAM, use bsd_auth(3) instead.
25 ifneq ($(UNAME),OpenBSD)
26   LIBS += -lpam
27 endif
28
29 FILES:=$(wildcard *.c)
30 FILES:=$(FILES:.c=.o)
31
32 ifeq ($(wildcard .git),)
33   # not in git repository
34   VERSION := $(shell [ -f $(TOPDIR)/I3LOCK_VERSION ] && cat $(TOPDIR)/I3LOCK_VERSION | cut -d '-' -f 1)
35   I3LOCK_VERSION:='$(shell [ -f $(TOPDIR)/I3LOCK_VERSION ] && cat $(TOPDIR)/I3LOCK_VERSION)'
36 else
37   VERSION:=$(shell git describe --tags --abbrev=0)
38   I3LOCK_VERSION:="$(shell git describe --tags --always) ($(shell git log --pretty=format:%cd --date=short -n1))"
39 endif
40 CPPFLAGS += -DVERSION=\"${I3LOCK_VERSION}\"
41
42 .PHONY: install clean uninstall
43
44 all: i3lock
45
46 i3lock: ${FILES}
47         $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
48
49 clean:
50         rm -f i3lock ${FILES} i3lock-${VERSION}.tar.gz
51
52 install: all
53         $(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
54         $(INSTALL) -d $(DESTDIR)$(SYSCONFDIR)/pam.d
55         $(INSTALL) -m 755 i3lock $(DESTDIR)$(PREFIX)/bin/i3lock
56         $(INSTALL) -m 644 i3lock.pam $(DESTDIR)$(SYSCONFDIR)/pam.d/i3lock
57
58 uninstall:
59         rm -f $(DESTDIR)$(PREFIX)/bin/i3lock
60
61 dist: clean
62         [ ! -d i3lock-${VERSION} ] || rm -rf i3lock-${VERSION}
63         [ ! -e i3lock-${VERSION}.tar.bz2 ] || rm i3lock-${VERSION}.tar.bz2
64         mkdir i3lock-${VERSION}
65         cp *.c *.h i3lock.1 i3lock.pam Makefile LICENSE README.md CHANGELOG i3lock-${VERSION}
66         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
67         tar cfj i3lock-${VERSION}.tar.bz2 i3lock-${VERSION}
68         rm -rf i3lock-${VERSION}