X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=Makefile;h=a917d6c967b24ac6d41b240ad502553fcf0e7a40;hb=1d08065fe02304f078c9b34250148777f3d0a734;hp=4a8d2a15fb0bd924b36cc9f613ed8ff0514da55b;hpb=91672632868a56cb229d3311f7a2b5c86eadbcec;p=i3%2Fi3lock diff --git a/Makefile b/Makefile index 4a8d2a1..a917d6c 100644 --- a/Makefile +++ b/Makefile @@ -1,49 +1,59 @@ -# slock - simple screen locker -# © 2006-2007 Anselm R. Garbe, Sander van Dijk -# © 2009 Michael Stapelberg - -include config.mk - -SRC = i3lock.c -OBJ = ${SRC:.c=.o} - -all: options i3lock - -options: - @echo i3lock build options: - @echo "CFLAGS = ${CFLAGS}" - @echo "LDFLAGS = ${LDFLAGS}" - @echo "CC = ${CC}" - -.c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< - -${OBJ}: config.mk - -i3lock: ${OBJ} - @echo CC -o $@ - @${CC} -o $@ ${OBJ} ${LDFLAGS} +INSTALL=install +PREFIX=/usr +SYSCONFDIR=/etc + +# Check if pkg-config is installed, we need it for building CFLAGS/LIBS +ifeq ($(shell which pkg-config 2>/dev/null 1>/dev/null || echo 1),1) +$(error "pkg-config was not found") +endif + +CFLAGS += -std=c99 +CFLAGS += -pipe +CFLAGS += -Wall +CPPFLAGS += -D_GNU_SOURCE +ifndef NOLIBCAIRO +CFLAGS += $(shell pkg-config --cflags cairo xcb-keysyms xcb-dpms xcb-xinerama) +LIBS += $(shell pkg-config --libs cairo xcb-keysyms xcb-dpms xcb-xinerama xcb-image) +else +CPPFLAGS += -DNOLIBCAIRO +CFLAGS += $(shell pkg-config --cflags xcb-keysyms xcb-dpms xcb-xinerama) +LIBS += $(shell pkg-config --libs xcb-keysyms xcb-dpms xcb-image xcb-xinerama) +endif +LIBS += -lpam +LIBS += -lev +LIBS += -lX11 + +FILES:=$(wildcard *.c) +FILES:=$(FILES:.c=.o) + +VERSION:=$(shell git describe --tags --abbrev=0) +GIT_VERSION:="$(shell git describe --tags --always) ($(shell git log --pretty=format:%cd --date=short -n1))" +CPPFLAGS += -DVERSION=\"${GIT_VERSION}\" + +.PHONY: install clean uninstall + +all: i3lock + +i3lock: ${FILES} + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) clean: - @echo cleaning - @rm -f i3lock ${OBJ} i3lock-${VERSION}.tar.gz - -dist: clean - @echo creating dist tarball - @mkdir -p i3lock-${VERSION} - @cp -R LICENSE Makefile README config.mk ${SRC} slock-${VERSION} - @tar -cf i3lock-${VERSION}.tar i3lock-${VERSION} - @gzip i3lock-${VERSION}.tar - @rm -rf i3lock-${VERSION} + rm -f i3lock ${FILES} i3lock-${VERSION}.tar.gz install: all - @echo installing executable file to $(DESTDIR)$(PREFIX)/bin $(INSTALL) -d $(DESTDIR)$(PREFIX)/bin - $(INSTALL) -m 4755 i3lock $(DESTDIR)$(PREFIX)/bin/i3lock + $(INSTALL) -d $(DESTDIR)$(SYSCONFDIR)/pam.d + $(INSTALL) -m 755 i3lock $(DESTDIR)$(PREFIX)/bin/i3lock + $(INSTALL) -m 644 i3lock.pam $(DESTDIR)$(SYSCONFDIR)/pam.d/i3lock uninstall: - @echo removing executable file from $(DESTDIR)$(PREFIX)/bin - @rm -f $(DESTDIR)$(PREFIX)/bin/i3lock + rm -f $(DESTDIR)$(PREFIX)/bin/i3lock -.PHONY: all options clean dist install uninstall +dist: clean + [ ! -d i3lock-${VERSION} ] || rm -rf i3lock-${VERSION} + [ ! -e i3lock-${VERSION}.tar.bz2 ] || rm i3lock-${VERSION}.tar.bz2 + mkdir i3lock-${VERSION} + cp *.c *.h i3lock.1 i3lock.pam Makefile LICENSE README CHANGELOG i3lock-${VERSION} + 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 + tar cfj i3lock-${VERSION}.tar.bz2 i3lock-${VERSION} + rm -rf i3lock-${VERSION}