all: xdm gtkgreet

install:
	cd xdm; make install
	-cd gtkgreet; make install

clean:
	-cd xdm; make clean
	cd gtkgreet; make clean

gtkgreet: 
	cd gtkgreet; make

xdm: patch
	cd xdm; xmkmf -a; make


# Targets beneath this line are called by the rules above this line

patch: .didxdmpatch


.didxdmpatch: 
	chmod u+w -R xdm
	perl -i.bak patchimake.pl xdm/Imakefile
	patch < diff-xdm
	mv xdm/greeter/greet.c xdm/greeter/greet.c.old
	ln -s ../../greet.c xdm/greeter/greet.c
	ln -s ../../in.c xdm/greeter/in.c
	ln -s ../../in.h xdm/greeter/in.h
	touch .didxdmpatch

.PHONY: xdm patch all gtkgreet install clean


# Targets beneath this line are usually only called by the maintainer.

VERSION=1.00

dist: ggdist README distclean tarball maintball

ggdist:
	cd gtkgreet; make dist

README: README.html
	lynx -dump -nolist README.html > README

tarball:
	(cd ..; tar -cvzf xdm-extgreet-$(VERSION).tar.gz xdm-extgreet -X xdm-extgreet/.exclude)

maintball: 
	(cd ..; tar -cvzf xdm-extgreet-$(VERSION)-maintainer.tar.gz xdm-extgreet)

distclean: clean
	-rm -f .didxdmpatch
	-rm -Rf xdm
	-mkdir xdm

diff:
	-(cd xdm; make clean; rm Makefile)
	-(cd xdm-new; make clean; rm Makefile)
	-diff -x greet.c -x Imakefile -r -u xdm xdm-new > diff-xdm 

untarxdm:
	tar -xvzf ../xdm.tar.gz

.PHONY: distclean diff tarball maintball dist untarxdm ggdist

