#
#
INCS=-I/usr/local/ssl/include -I/usr/local/include
LIBS=-lssl -ldl -lpam -lcrypto
LIBDIRS=-L/usr/local/ssl/lib -L/usr/local/lib
OBJS=passwdd.o aux.o auth_pam.o
SRCS=passwdd.c aux.c auth_pam.c
ETC=/usr/local/etc
#
#
all: passwdd

passwdd: $(OBJS) aux.h auth_pam.h
	$(CC) -Wall -O -o passwdd $(OBJS) $(LIBDIRS) $(LIBS)


clean:
	rm -f *.o passwdd passwdd.cert passwdd.prikey core

cert: passwdd.cert passwdd.prikey

passwdd.cert:
	openssl req -x509 -days 1460 -nodes -newkey rsa:512 -out passwdd.cert -keyout passwdd.prikey

passwdd.prikey:
	openssl req -x509 -days 1460 -nodes -newkey rsa:512 -out passwdd.cert -keyout passwdd.prikey
	@chmod 600 passwdd.prikey

	
$(ETC)/passwdd.conf: samples/passwdd.conf
	@cp -f samples/passwdd.conf $(ETC)/

$(ETC)/passwdd.cert: passwdd.cert
	@cp -f passwdd.cert $(ETC)/

$(ETC)/passwdd.prikey: passwdd.prikey
	@cp -f passwdd.prikey $(ETC)/
	@chmod 400 $(ETC)/passwdd.prikey

/usr/local/sbin/passwdd: passwdd
	@cp -f passwdd /usr/local/sbin/passwdd

$(ETC)/passwdd_form.html: samples/passwdd_form.html
	@cp -f samples/passwdd_form.html $(ETC)/

$(ETC)/passwdd_ok.html: samples/passwdd_ok.html
	@cp -f samples/passwdd_ok.html $(ETC)/

$(ETC)/passwdd_ko.html: samples/passwdd_ko.html
	@cp -f samples/passwdd_ko.html $(ETC)/

$(ETC)/passwd.gif: samples/passwd.gif
	@cp -f samples/passwd.gif $(ETC)/

install: $(ETC)/passwdd.conf $(ETC)/passwdd.prikey \
	 $(ETC)/passwdd.cert /usr/local/sbin/passwdd \
	 $(ETC)/passwdd_form.html $(ETC)/passwdd_ok.html \
	 $(ETC)/passwdd_ko.html \
	 $(ETC)/passwd.gif

pack: ../passwdd.tgz

../passwdd.tgz: $(SRCS) Makefile
	(cd ..; tar czf passwdd.tgz passwdd/passwdd.c passwdd/aux.c \
	passwdd/aux.h passwdd/auth_pam.h \
	passwdd/auth_pam.c passwdd/Makefile passwdd/samples)

