CC = gcc
DEFS= -D_REENTRANT -fno-strict-aliasing
INC = -I/usr/local/include -I. -I/usr/include/openssl

CFLAGS = $(DEFS) $(INC) -fPIC -Wall -O2 `pkg-config --cflags libmusclecard`

# by default install in /
ifeq ($(DESTDIR),)
DESTDIR=/
endif

LIBS = `pkg-config --libs libmusclecard` -lpthread -lpam -lcrypto
OBJ  = preferences.o certutils.o pam_smartcard.o cardtools.o

all: pam_musclecard.so

clean:
	rm -f $(OBJ) pam_musclecard.so

test:
	$(CC) -o testpam testpam.c $(OBJ) $(LIBS)

install: pam_musclecard.so
	install --directory $(DESTDIR)/lib/security/
	install --mode=755 pam_musclecard.so $(DESTDIR)/lib/security/
	install --directory $(DESTDIR)/etc/musclepam
	install --mode=644 pam-muscle.conf $(DESTDIR)/etc/musclepam/

pam_musclecard.so: $(OBJ)
	$(LD) -shared -o $@ $(OBJ) $(LIBS)

