]> git.sur5r.net Git - i3/i3lock/blob - Makefile
1d82af9441d5fdcdf9b07136e370a4616fa345a5
[i3/i3lock] / Makefile
1 INSTALL=install
2 PREFIX=/usr
3 SYSCONFDIR=/etc
4
5 # Check if pkg-config is installed, we need it for building CFLAGS/LIBS
6 ifeq ($(shell which pkg-config 2>/dev/null 1>/dev/null || echo 1),1)
7 $(error "pkg-config was not found")
8 endif
9
10 CFLAGS += -std=c99
11 CFLAGS += -pipe
12 CFLAGS += -Wall
13 CPPFLAGS += -D_GNU_SOURCE
14 ifndef NOLIBCAIRO
15 CFLAGS += $(shell pkg-config --cflags cairo xcb-keysyms xcb-dpms)
16 LIBS += $(shell pkg-config --libs cairo xcb-keysyms xcb-dpms xcb-image)
17 else
18 CPPFLAGS += -DNOLIBCAIRO
19 CFLAGS += $(shell pkg-config --cflags xcb-keysyms xcb-dpms)
20 LIBS += $(shell pkg-config --libs xcb-keysyms xcb-dpms xcb-image)
21 endif
22 LIBS += -lpam
23
24 FILES:=$(wildcard *.c)
25 FILES:=$(FILES:.c=.o)
26
27 VERSION:=$(shell git describe --tags --abbrev=0)
28 GIT_VERSION:="$(shell git describe --tags --always) ($(shell git log --pretty=format:%cd --date=short -n1))"
29 CPPFLAGS += -DVERSION=\"${GIT_VERSION}\"
30
31 .PHONY: install clean uninstall
32
33 all: i3lock
34
35 i3lock: ${FILES}
36         $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
37
38 clean:
39         rm -f i3lock ${FILES} i3lock-${VERSION}.tar.gz
40
41 install: all
42         $(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
43         $(INSTALL) -d $(DESTDIR)$(SYSCONFDIR)/pam.d
44         $(INSTALL) -m 755 i3lock $(DESTDIR)$(PREFIX)/bin/i3lock
45         $(INSTALL) -m 644 i3lock.pam $(DESTDIR)$(SYSCONFDIR)/pam.d/i3lock
46
47 uninstall:
48         rm -f $(DESTDIR)$(PREFIX)/bin/i3lock
49
50 dist: clean
51         [ ! -d i3lock-${VERSION} ] || rm -rf i3lock-${VERSION}
52         [ ! -e i3lock-${VERSION}.tar.bz2 ] || rm i3lock-${VERSION}.tar.bz2
53         mkdir i3lock-${VERSION}
54         cp *.c *.h i3lock.1 i3lock.pam Makefile LICENSE README i3lock-${VERSION}
55         sed -e 's/^GIT_VERSION:=\(.*\)/GIT_VERSION:=$(shell /bin/echo '${GIT_VERSION}' | sed 's/\\/\\\\/g')/g;s/^VERSION:=\(.*\)/VERSION:=${VERSION}/g' Makefile > i3lock-${VERSION}/Makefile
56         tar cfj i3lock-${VERSION}.tar.bz2 i3lock-${VERSION}
57         rm -rf i3lock-${VERSION}