# $Id: Makefile,v 1.11 2002/03/12 09:56:53 rousseau Exp $

CC       = gcc
FLAGS    = -O2 -Wall -fPIC
INCLUDE  = -I../Includes
LDLIBS   = -ldbm -lpcsclite -lpthread -lgmp -lnsl -lpam -lpam_misc

SMARTSESSION_INSTALL_DIR = /etc/smartsession/
SMARTSESSION_DIR = \"$(SMARTSESSION_INSTALL_DIR)\"

DEFINES  = -DSMARTSESSION_DIR=$(SMARTSESSION_DIR)

CFLAGS   = $(FLAGS) $(INCLUDE) $(DEFINES)

export CC
export CFLAGS
export LDLIBS

all :
	make -C Pam_Modules
	make -C Cfs_SC
	make -C Graphic
	make -C Tools
	make -C Locker

ultraclean: clean
	make -C Pam_Modules ultraclean
	make -C Cfs_SC ultraclean
	make -C Graphic ultraclean
	make -C Tools ultraclean
	make -C Locker ultraclean
	make -C Functions ultraclean

	rm -f core *~

tags:
	ctags $(shell find . -name '*.c') $(shell find . -name '*.h')
	make -C Cfs_SC tags
	make -C Functions tags
	make -C Graphic tags
	make -C Locker tags
	make -C Pam_Modules tags
	make -C Tools tags

clean:
	make -C Pam_Modules clean
	make -C Cfs_SC clean
	make -C Graphic clean
	make -C Tools clean
	make -C Locker clean
	make -C Functions clean

install: all install_bin_mod

install_bin_mod:
	make -C Pam_Modules install
	make -C Cfs_SC install
	make -C Graphic install
	make -C Tools install
	make -C Locker install

	install --directory $(DESTDIR)$(SMARTSESSION_INSTALL_DIR)

	install --directory $(DESTDIR)/etc/pam.d
	install --mode 644 ../Misc/smartlocker_pam_config $(DESTDIR)/etc/pam.d/smartlocker

.PHONY: tags clean install install_bin_mod

