CC ?= gcc
CFLAGS ?= -fPIC -O2 -Wall -Wextra
LDFLAGS ?= -shared
LIBS ?= -lcurl

DESTDIR ?=
LIBDIR ?= /lib/x86_64-linux-gnu/security
CONFDIR ?= /etc/kie.la

SBINDIR ?= /usr/local/sbin
PAMDIR ?= /etc/pam.d

all: pam_kiela.so kiela-login

pam_kiela.so: pam_kiela.c
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ pam_kiela.c $(LIBS)

kiela-login: kiela-login.c
	$(CC) -O2 -Wall -Wextra -o $@ kiela-login.c -lpam -lpam_misc

install: pam_kiela.so kiela-login pam-kiela.conf kiela-login.pam
	install -d $(DESTDIR)$(LIBDIR) $(DESTDIR)$(CONFDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(PAMDIR)
	install -m 755 pam_kiela.so $(DESTDIR)$(LIBDIR)/pam_kiela.so
	install -m 755 kiela-login $(DESTDIR)$(SBINDIR)/kiela-login
	install -m 644 kiela-login.pam $(DESTDIR)$(PAMDIR)/kiela-login
	test -f $(DESTDIR)$(CONFDIR)/pam-kiela.conf || \
	    install -m 644 pam-kiela.conf $(DESTDIR)$(CONFDIR)/pam-kiela.conf

clean:
	rm -f pam_kiela.so kiela-login

.PHONY: all install clean
